Skip to main content

平方数之和

题目

给定一个非负整数 c, 你要判断是否存在两个整数 ab, 使得 a² + b² = c.

提示:
  • 0 <= c <= 2³¹ - 1
示例
输入: c = 5
输出: true
解释: 1 * 1 + 2 * 2 = 5
输入: c = 3
输出: false

题解

/**
* @param {number} c
* @return {boolean}
*/
var judgeSquareSum = function (c) {
let a = 0
let b = Math.sqrt(c) | 0
while (a <= b) {
const res = a * a + b * b
if (res < c) {
a++
} else if (res > c) {
b--
} else {
return true
}
}
return false
}