हमें एक JavaScript फ़ंक्शन लिखना है जो एक संख्या लेता है और 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));कोड को समझना
हम i = 1 से लूप करते हैं। यदि i * i = n, तो हम i लौटाते हैं क्योंकि n एक पूर्ण वर्ग है जिसका वर्गमूल i है, अन्यथा हम सबसे छोटा i ढूंढते हैं जिसके लिए i * i, n से थोड़ा बड़ा है।
अब हम जानते हैं कि n का वर्गमूल i - 1 और i के अंतराल में स्थित है।
और फिर हमने बाइनरी सर्च एल्गोरिथम का उपयोग करके वर्गमूल ढूंढा।
आउटपुट
कंसोल में आउटपुट निम्न होगा:
5.744562149047852