Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> 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);
   }
}
// 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 में स्थित है। और फिर हमने वर्गमूल खोजने के लिए बाइनरी सर्च एल्गोरिथम का उपयोग किया।


  1. जावास्क्रिप्ट का उपयोग करके n अवसरों के बाद खुले पानी के नलों की संख्या ज्ञात करना

    समस्या मान लीजिए कोई स्कूल अपने वार्षिक दिवस समारोह में इस खेल का आयोजन करता है - एन पानी के नल हैं और एन छात्रों को यादृच्छिक रूप से चुना जाता है। प्रशिक्षक पहले छात्र को प्रत्येक नल पर जाकर उसे खोलने के लिए कहता है। फिर उसके पास दूसरा छात्र है जो हर दूसरे नल पर जाता है और उसे बंद कर देता है। तीस

  1. जावास्क्रिप्ट में पुस्तकालय कार्यों का उपयोग किए बिना ASCII मान से वर्णमाला ढूँढना

    समस्या हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो एक संख्या लेता है। हमारे फ़ंक्शन को उस संख्या के लिए संबंधित ASCII वर्णमाला वापस करनी चाहिए (यदि उस ASCII मान के लिए कोई वर्णमाला मौजूद है), -1 अन्यथा। यहां शर्त यह है कि हम किसी भी इनबिल्ट फ़ंक्शन का उपयोग नहीं कर सकते हैं जो इन मानों को परिवर्तित

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

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