JavaScript中判断一个数是否为两个完全平方数之和
完全平方数
在数学中,如果一个自然数可以表示为另一个自然数的平方,则称其为完全平方数。
例如,9、16、81、289都是完全平方数。
我们需要编写一个JavaScript函数,它只接收一个自然数num作为参数。该函数应该确定是否存在两个这样的数m和n,使得:
(m * m) + (n * n) = num
如果存在这样的数,我们的函数应该返回true,否则返回false。
例如:
如果输入数字是:
const num = 389;
则输出应该是:
const output = true;
因为389 = (17 * 17) + (10 * 10)
示例
代码如下:
const num = 389;
const canSumSquares = (num = 2) => {
let left = 0, right = Math.floor(Math.sqrt(num));
while(left <= right){
if (left * left + right * right === num) {
return true;
} else if (left * left + right * right < num) {
left++;
} else {
right--;
};
};
return false;
};
console.log(canSumSquares(num));输出
控制台输出将是:
true
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP