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

लाइब्रेरी फंक्शन के बिना संख्या का वर्गमूल खोजें - JavaScript


हमें एक 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));

आउटपुट

यह कंसोल में निम्नलिखिक आउटपुट देगा:

5.744562149047852

कोड को समझना

हम i = 1 से लूप करते हैं।

अगर i * i = n, तो हम i रिटर्न करते हैं क्योंकि n एक पूर्ण वर्ग है जिसका वर्गमूल i है। अन्यथा हम सबसे छोटा i ढूंढते हैं जिसके लिए i * i, n से थोड़ा बड़ा है।

अब हम जानते हैं कि n का वर्गमूल i - 1 और i के अंतराल में है। और फिर हमने बाइनरी सर्च एल्गोरिदम का उपयोग करके वर्गमूल ढूंढा।


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

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

  1. - जावास्क्रिप्ट में लाइब्रेरी फ़ंक्शन के बिना ASCII मान से वर्णमाला ढूंढना

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

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

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