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

জাভাস্ক্রিপ্টে Math.sqrt() ছাড়া নন-নেগেটিভ সংখ্যার বর্গমূল বের করা

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি নন-নেগেটিভ ইন্টিজার গ্রহণ করে এবং এর বর্গমূল কম্পিউট করে রিটার্ন করে। ফ্লোটিং-পয়েন্ট নাম্বারকে ইন্টিজারে ফ্লোর অফ করা যাবে।

উদাহরণস্বরূপ: ১৫ এর জন্য, আমাদের প্রিসাইজ ভ্যালু রিটার্ন করতে হবে না, আমরা কেবল নিকটতম ছোট ইন্টিজার ভ্যালু রিটার্ন করতে পারি, ১৫ এর ক্ষেত্রে সেটি ৩ হবে।

আমরা বাইনারি সার্চ অ্যালগরিদম ব্যবহার করে দেওয়া সংখ্যার বর্গমূল খুঁজে বের করব।

উদাহরণ

const squareRoot = (num = 1) => {
  let l = 0; let r = num;
  while(l <= r) {
    const mid = Math.floor((l + r) / 2);
    if(mid ** 2 === num){ return mid; }
    else if(mid ** 2 > num){
      r = mid - 1;
    }
    else{ l = mid + 1; };
  };
  return r;
};
console.log(squareRoot(4));
console.log(squareRoot(729));
console.log(squareRoot(15));
console.log(squareRoot(54435));

আউটপুট

কনসোলে আউটপুট হবে:

2 27 3 233
  1. জাভাস্ক্রিপ্টে সংখ্যার বর্গমূল সমাধান করা (রেঞ্জ বা নম্বর রিটার্ন)

  2. C++-এ স্কোয়ার রুট না ব্যবহার করে একটি সংখ্যা পারফেক্ট স্কোয়ার কিনা তা যাচাই করা

  3. পাইথনে math মডিউল ছাড়া স্কয়ার রুট বের করা

  4. পাইথনে স্কয়ার রুট বের করা (math.sqrt)