CF1665A GCD vs LCM 题解

题意简述

给定一正整数 $ n $,试求出正整数 $ a,b,c,d $ 的值,其中 $ a + b + c + d =n,\gcd(a,b) = \operatorname{lcm}(c,d) $。

Sol:

对于任意正整数 $n$,有如下性质:

性质 1:$ \gcd(1,n) = 1 $。

性质 2:$ \operatorname{lcm}(1,n) = n $

令第二个约束等式两边都等于 1,即 $ \gcd(a,b) = \operatorname{lcm}(c,d) = 1 $。

根据上面的性质,不难推出有一组解为 $a = 1,b = n-3,c = 1,d = 1$。

($a = n-3,b = 1,c = 1,d = 1$ 也可以)

对于每组数据输出即可。

代码

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath> 
#define ll long long

using namespace std;

int main(){
    ll t;
    cin >> t;
    for(ll i = 1; i <= t; i++){
        ll n;
        cin >> n;
        cout << 1 << " " << n-3 << " " << 1 << " " << 1 << endl;
    }
    return 0;
}
posted @ 2022-04-09 09:14  象征阳光  阅读(5)  评论(0)    收藏  举报  来源