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

লাইব্রেরি ফাংশন ছাড়া বর্গমূল বের করা - জাভাস্ক্রিপ্ট

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি সংখ্যা নেয় এবং Math.sqrt() ফাংশন ব্যবহার ছাড়া তার বর্গমূল বের করবে।

উদাহরণ

নিচের কোডটি দেখুন:

const square = (n, i, j) => {
  let mid = (i + j) / 2;
  let mul = mid * mid;
  if ((mul === n) || (Math.abs(mul - n) < 0.00001)){
    return mid;
  }else if (mul < n){
    return square(n, mid, j);
  }else{
    return square(n, i, mid);
  }
}

// n-এর বর্গমূল বের করার ফাংশন
const findSqrt = num => {
  let i = 1;
  const found = false;
  while (!found){
    // যদি n পেরফেক্ট স্কয়ার হয়
    if (i * i === num){
      return i;
    }else if (i * i > num){
      let res = square(num, i - 1, i);
      return res;
    };
    i++;
  }
}

console.log(findSqrt(33));

আউটপুট

এটি কনসোলে নিচের আউটপুট তৈরি করবে:

5.744562149047852

কোড বোঝা

আমরা i = 1 থেকে লুপ করলাম।

যদি i * i = n হয়, তবে i রিটার্ন করলাম কারণ n একটি পেরফেক্ট স্কয়ার যার বর্গমূল i। অন্যথায়, আমরা সবচেয়ে ছোট i খুঁজে বের করলাম যেন i * i ঠিক n-র চেয়ে বড়।

এখন আমরা জানি n-এর বর্গমূল i-1 এবং i-এর ഇন্টারভ্যালে আছে। এবং তারপর আমরা বাইনারি সার্চ অ্যালগরিদম ব্যবহার করে বর্গমূল বের করলাম।

  1. জাভাস্ক্রিপ্টে ডায়োফ্যান্টাইন সমীকরণের সমস্ত সমাধান খুঁজে বের করা

  2. জাভাস্ক্রিপ্টে n চান্সের পর খোলা ওয়াটার ট্যাপের সংখ্যা

  3. জাভাস্ক্রিপ্টে ASCII ভ্যালু থেকে অ্যালফাবেট বের করা (লাইব্রেরি ফাংশন ছাড়া)

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