乱写了一发然后过了
做法就是令 c=1 然后枚举 a,所以 b=n−a−b,直接判断是否满足 gcd(a,b)=1,满足就输出然后结束。
void solve() {
int n;
iocin >> n;
rep (i, 1, n) {
int a, b, c;
for (a = 2; a <= n; ++a) {
c = 1, b = n - a - 1;
if (a >= 1 && b >= 1 && c >= 1) {
if (__gcd(a, b) == c) {
cout << a << ' ' << b << ' ' << c << endl;
goto exit;
}
}
}
}
exit:;
}