কম্পিউটার টিউটোরিয়াল

জাভাস্ক্রিপ্টে একটি সংখ্যা কি দুটি পারফেক্ট স্কোয়ারের যোগফল সেটি চেক করা


পারফেক্ট স্কোয়ার নম্বর:

গণিতের প্রাকৃতিক সংখ্যা যেটি অন্য কোনো প্রাকৃতিক সংখ্যার স্বগুণফল হিসেবে পাওয়া যায়, তাকে পারফেক্ট স্কোয়ার বলে। যেমন: ৯, ১৬, ৮১, ২৮৯ সবই পারফেক্ট স্কোয়ার।

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি প্রাকৃতিক সংখ্যা 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

  1. জাভাস্ক্রিপ্টে n কে পারফেক্ট স্কয়ারের যোগফলে প্রকাশ করার জন্য ন্যূনতম সংখ্যা বের করা

  2. জাভাস্ক্রিপ্টে n এর চেয়ে কম দুটি উপাদানের সর্বোচ্চ যোগফল বের করা

  3. জাভাস্ক্রিপ্টে সাবঅ্যারে গুলোর সর্বোচ্চ যোগফল ন্যূনতম করা (Split Array Largest Sum)

  4. জাভাস্ক্রিপ্টে দুটি BST-এ টু-সম (Two Sum) সমস্যা