পারফেক্ট স্কোয়ার নম্বর:
গণিতের প্রাকৃতিক সংখ্যা যেটি অন্য কোনো প্রাকৃতিক সংখ্যার স্বগুণফল হিসেবে পাওয়া যায়, তাকে পারফেক্ট স্কোয়ার বলে। যেমন: ৯, ১৬, ৮১, ২৮৯ সবই পারফেক্ট স্কোয়ার।
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি প্রাকৃতিক সংখ্যা 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