Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Javascript

Math.sqrt () जावास्क्रिप्ट का उपयोग किए बिना एक गैर-ऋणात्मक संख्या का वर्गमूल ढूँढना

<घंटा/>

हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो एक गैर-नकारात्मक पूर्णांक लेता है और इसकी गणना करता है और इसके वर्गमूल को लौटाता है। हम एक फ़्लोटिंग-पॉइंट नंबर को एक पूर्णांक तक सीमित कर सकते हैं।

उदाहरण के लिए:संख्या 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

  1. जाँच करें कि C++ में वर्गमूल ज्ञात किए बिना कोई संख्या पूर्ण वर्ग है या नहीं

    मान लीजिए कि एक संख्या दी गई है, हमें यह जांचना है कि संख्या एक पूर्ण वर्ग है या नहीं। हम इसे जांचने के लिए वर्गमूल संक्रिया का उपयोग नहीं करेंगे। मान लीजिए कि एक संख्या 1024 है, यह एक पूर्ण वर्ग है, लेकिन 1000 एक पूर्ण वर्ग नहीं है। तर्क सरल है, परिणाम प्राप्त करने के लिए हमें इस एल्गोरिथम का पालन

  1. पायथन में गणित मॉड्यूल का उपयोग किए बिना वर्गमूल कैसे करें?

    पायथन में घातांक संचालिका (**) है जिसका उपयोग किसी संख्या की शक्ति की गणना के लिए किया जा सकता है। x**y, x को बढ़ाकर y कर देता है, यानी x का y गुणा। चूँकि हमें वर्गमूल की गणना करने की आवश्यकता है, y होना चाहिए (1/2) >>> 10**(1/2) 3.1622776601683795 >>> 25**(1/2) 5.0

  1. पायथन में किसी संख्या के वर्गमूल की गणना कैसे करें?

    पायथन लाइब्रेरी के गणित मॉड्यूल में परिभाषित sqrt() फ़ंक्शन का उपयोग करना किसी संख्या के वर्गमूल की गणना करने का सबसे आसान तरीका है >>> import math >>> math.sqrt(10) 3.1622776601683795 >>> math.sqrt(3) 1.7320508075688772