Computer >> Máy Tính >  >> Lập trình >> Javascript

Là một tổng số của hai hình vuông hoàn hảo trong JavaScript

Số vuông hoàn hảo:

Một số tự nhiên trong toán học được gọi là một bình phương hoàn hảo nếu nó có thể nhận được bằng cách nhân bất kỳ số tự nhiên nào khác với chính số đó.

Ví dụ:9, 16, 81, 289 đều là hình vuông hoàn hảo.

Chúng tôi được yêu cầu viết một hàm JavaScript nhận một số tự nhiên, chẳng hạn như num, làm đối số duy nhất. Hàm cần xác định xem có tồn tại hai số m và n sao cho -

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

Nếu tồn tại những con số như vậy, hàm của chúng ta sẽ trả về true, ngược lại là false.

Ví dụ -

Nếu số đầu vào là -

const num = 389;

Sau đó, đầu ra phải là -

const output = true;

bởi vì 389 =(17 * 17) + (10 * 10)

Ví dụ

Mã cho điều này sẽ là -

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

Đầu ra

Và đầu ra trong bảng điều khiển sẽ là -

true