हमें एक JavaScript फ़ंक्शन लिखना है जो एक गैर-ऋणात्मक पूर्णांक लेता है और उसका वर्गमूल गणना करके लौटाता है। हम फ्लोटिंग-पॉइंट नंबर को पूर्णांक में फ्लोर कर सकते हैं।
उदाहरण के लिए: संख्या 15 के लिए, हमें सटीक मान लौटाने की आवश्यकता नहीं है, हम केवल निकटतम छोटा पूर्णांक मान लौटा सकते हैं जो 15 के मामले में 3 होगा।
हम दिए गए संख्या के वर्गमूल पर कन्वर्ज करने के लिए बाइनरी सर्च एल्गोरिदम का उपयोग करेंगे।
इसका कोड होगा -
उदाहरण
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