给定一个非负整数 c ,你要判断是否存在两个整数 a 和 b,使得 a2 + b2 = c。
输入: 5 ,输出: True ,解释: 1 * 1 + 2 * 2 = 5
输入: 3 ,输出: False
解法一:
范围内求值 ,0 - C的平方根
var judgeSquareSum = function(c) {
var low=0, sum, heig=Math.ceil(Math.sqrt(c));
while(low<=heig){
sum = low*low+heig*heig
if(sum==c){
return true;
}else if(sum<c){
low++
}else{
heig--
}
}
return false;
};
执行用时:88 ms
已经战胜 60.64 % 的 javascript 提交记录