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