是 JavaScript 中两个完全平方数的和

javascriptweb developmentfront end technology

完全平方数:

如果数学中一个自然数可以通过将任何其他自然数乘以该自然数而得到,则该自然数被称为完全平方数。

例如,9、16、81、289 都是完全平方数。

我们需要编写一个 JavaScript 函数,该函数以自然数(例如 num)作为唯一参数。该函数应确定是否存在两个这样的数字 m 和 n,使得 −

(m * m) + (n * n) = num

如果存在这样的数字,我们的函数应返回 true,否则返回 false。

例如 −

如果输入的数字是−

const num = 389;

那么输出应该是 −

const output = true;

because 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

相关文章