一.题目描述:
给定一个非负整数 c ,你要判断是否存在两个整数 a 和 b,使得 a2 + b2 = c。
示例1:
输入: 5
输出: True
解释: 1 * 1 + 2 * 2 = 5
示例2:
输入: 3
输出: False
二.js代码实现:
1.实现思路:
(1)先取得数字c的开方然后取整
(2)进行遍历,直到该数字减去i的平方开方然后判断其是否是整数,如果是整数则返回true
2.js代码:
/**
* @param {number} c
* @return {boolean}
*/
var judgeSquareSum = function(c) {
let m = parseInt(Math.sqrt(c));
for(let i= m;i>-1;i--)
{
if(Math.sqrt(c-(i*i))%1==0)
{
return true;
}
}
return false;
};