银行门户网站建设,app定制,wordpress olve,中国网站排名前100可以用四平方和定理#xff1a;任意一个正整数都可以表示为4个以内整数的平方和。 如果一个数含有因子4#xff0c;那么我们可以把4都去掉#xff0c;并不影响结果。比如#xff1a;8去掉4#xff0c;12去掉3#xff0c;返回的结果都相同。 如果一个数除以8余7#xff0… 可以用四平方和定理任意一个正整数都可以表示为4个以内整数的平方和。 如果一个数含有因子4那么我们可以把4都去掉并不影响结果。比如8去掉412去掉3返回的结果都相同。 如果一个数除以8余7那肯定是由4个完全平方数组成的。 的意思是逻辑取反则一个不为0的是取反为0再取反为1所以若a和b都不为0则 !!a!!b 的值为2如果有一个为0则返回1。 返回421的情况都讨论了之后就剩下返回3的情况了否则返回3。 class Solution {
public:int numSquares(int n) {while(n%4 0) n/4;if(n%8 7) return 4;for(int a 0; a*an; a){int b sqrt(n- a*a);if(a*a b*b n)//return 1或2return !!a !!b ; //!逻辑取反若a不为0则!a为0!!a为1}return 3;}
}; 转载于:https://www.cnblogs.com/Bella2017/p/11070437.html