Codeforces Round #628 (Div. 2)------EhAb AnD gCd

题目:
You are given a positive integer x. Find any such 2 positive integers a and b such that GCD(a,b)+LCM(a,b)=x.
As a reminder, GCD(a,b) is the greatest integer that divides both a and b. Similarly, LCM(a,b) is the smallest integer such that both a and b divide it.
It’s guaranteed that the solution always exists. If there are several such pairs (a,b), you can output any of them.

Input
The first line contains a single integer t (1≤t≤100) — the number of testcases.
Each testcase consists of one line containing a single integer, x (2≤x≤109).

Output
For each testcase, output a pair of positive integers a and b (1≤a,b≤109) such that GCD(a,b)+LCM(a,b)=x. It’s guaranteed that the solution always exists. If there are several such pairs (a,b), you can output any of them.

样例:

输入:
2
2
14
输出:
1 1
6 4

题意:
给定一个x,找出符合条件的a,b。LCM(a, b) + GCD(a, b) = x;

思路:
简单的一个思维题,存在特定的一组解就是1和x-1;这两个数的最小公约数是1,最大公倍数是x-1,所以求和是x

愉快AC:

#include
using namespace std;
int main()
{
    int t; cin >> t;
    while(t--){
        int x; cin >> x;
        cout << 1 << " " << x - 1 << endl;
    }
    return 0;
}

你可能感兴趣的:(Codeforce,算法)