其他分享
首页 > 其他分享> > 题解 CF1325A 【EhAb AnD gCd】

题解 CF1325A 【EhAb AnD gCd】

作者:互联网

\(Solution:\)

这道题的问题是输出一组 \((a,b)\) 使得 \(\gcd(a,b)+\operatorname{lcm}(a,b)=x\),我们又知道 \(\gcd(a,1)=1\),\(\operatorname{lcm}(a,1)=a\) 又知道如果有多种可能就输出其中一种即可,所以我们就直接输出 $1,x-1$ 就行了。

\(code:\)

#include<cstdio>//这里为了节省空间,所以不打万能头
using namespace std;//标准数据库
inline int read()//快速读入
{
    int x=0;bool f=1;char c=getchar();
    while(c<'0' || c>'9'){if(c=='-') f=0;c=getchar();}
    while(c>='0' && c<='9') x=(x<<3)+(x<<1)+(c^48),c=getchar();
    return f?x:-x;
}
int T,n;
int main()
{
    T=read();//读入数据组数
    while(T--)
    {
        x=read();//读入 x
        printf("%d %d\n",1,x-1);//按以上讲述方法,直接输出1,x-1 即可
    }
    return 0;
}

如果这篇文章给予了你帮助,那你就点个赞再走吧,Thanks♪(・ω・)ノ

标签:lcm,gCd,int,题解,while,EhAb,getchar,operatorname,gcd
来源: https://www.cnblogs.com/ForeverOIer/p/12660381.html