题解 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
",1,x-1);//按以上讲述方法,直接输出1,x-1 即可
    }
    return 0;
}

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

原文地址:https://www.cnblogs.com/ForeverOIer/p/12660381.html