定理
四平方和定理证明了任意一个正整数都可以被表示为至多四个正整数的平方和
推论
同时四平方和定理包含了一个更强的结论:当且仅当 n ≠ 4^k* (8m+7) 时,可以被表示为至多三个正整数的平方和。因此,当 n = 4^k* (8m+7) 时,只能被表示为四个正整数的平方和。
判断是否等于 4^k* (8m+7) 的代码
bool checkAnswer4(int x) {
while (x % 4 == 0) {
x /= 4;
}
return x % 8 == 7;
}
参考
leetcode 279.完全平方数