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