P9783 题解
FurippuWRY · · 题解
根据平方差公式,对原式进行变式,得:
考虑判断
若 No,否则输出 Yes 和
若 Yes 和
特判:当 No;Yes 和任意两个相同的数。
#include <bits/stdc++.h>
using namespace std;
long long n;
int main() {
cin >> n;
if (n == 1 || n == 4) {
cout << "No";
return 0;
}
if (!n) {
cout << "Yes\n" << 1 << ' ' << 1;
return 0;
}
if (!(n % 2)) {
if (n % 4 != 0) {
cout << "No";
}
else {
cout << "Yes\n" << n / 4 + 1 << ' ' << n / 4 - 1;
}
}
else {
cout << "Yes\n" << (n + 1) / 2 << ' ' << (n - 1) / 2;
}
return 0;
}