Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Kiểm tra số có phải tổng của hai số chính phương trong JavaScript


Số chính phương:

Số tự nhiên gọi là chính phương nếu là bình phương của một số tự nhiên khác. Ví dụ: 9, 16, 81, 289.

Cần viết hàm JS nhận số tự nhiên num, xác định xem có tồn tại m, n sao cho (m*m)+(n*n)=num. Trả về true nếu có, false nếu không.

Ví dụ:

Nếu số đầu vào:

const num = 389;

Kết quả:

const output = true;

vì 389 = 17*17 + 10*10

Ví dụ

Mã thực hiện:

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));

Kết quả

Kết quả in ra console:

true