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;
}

浙公网安备 33010602011771号