আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি সংখ্যা নেয় এবং 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);
}
}
// Function to find the square root of n
const findSqrt = num => {
let i = 1;
const found = false;
while (!found){
// If n is a perfect square
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 এর মধ্যে রয়েছে। এবং তারপর আমরা বর্গমূল খুঁজতে বাইনারি অনুসন্ধান অ্যালগরিদম ব্যবহার করেছি।