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

C++ में बाइनरी सर्च का उपयोग करके दी गई सटीकता तक संख्या का वर्गमूल ढूंढें


मान लीजिए हमारे पास एक पॉजिटिव संख्या n है, और सटीकता p। हमें बाइनरी सर्च तकनीक का उपयोग करके संख्या n का वर्गमूल p दशमलव स्थानों तक ढूंढना है। तो यदि संख्या n = 50 है, और p = 3, तो आउटपुट 7.071 है।

इसे हल करने के लिए, हमें कुछ चरणों का पालन करना होगा -

  • start := 0 और end := n प्रारंभ करें
  • मिड पूर्णांक के वर्ग की तुलना करें, यदि यह संख्या के बराबर है तो पूर्णांक भाग मिल गया है, अन्यथा आवश्यकतानुसार बाएं या दाएं देखें।
  • एक बार जब हम पूर्णांक भाग के लिए कार्य पूरा कर लेते हैं, फिर भिन्नात्मक भाग के लिए करें।
  • इन्क्रीमेंट वेरिएबल को 0.1 के रूप में प्रारंभ करें, फिर भिन्नात्मक भाग को p स्थानों तक गणना करें। प्रत्येक इटरेशन के लिए इन्क्रीमेंट अपने पिछले मान का 1/10वां हिस्सा बन जाता है।
  • अंत में उत्तर वापस करें।

उदाहरण

#include 
using namespace std;

float sqrtBinarySearch(int num, int p) {
    int left = 0, right = num;
    int mid;
    float res;
    while (left <= right) {
        mid = (left + right) / 2;
        if (mid * mid == num) {
            res = mid;
            break;
        }
        if (mid * mid < num) {
            left = mid + 1;
            res = mid;
        } else {
            right = mid - 1;
        }
    }
    float incr = 0.1;
    for (int i = 0; i < p; i++) {
        while (res * res <= num) {
            res += incr;
        }
        res -= incr;
        incr /= 10;
    }
    return res;
}

int main() {
    int n = 50, p = 3;
    cout << "Square root of " << n << " up to precision " << p << " is: " << sqrtBinarySearch(50, 3) << endl;
}

आउटपुट

Square root of 50 up to precision 3 is: 7.071

  1. C++ का उपयोग करके दिए गए बिंदुओं से संभावित चतुर्भुजों की संख्या ज्ञात करें C++ का उपयोग करके दिए गए बिंदुओं से संभावित चतुर्भुजों की संख्या ज्ञात करें

    यूक्लिडियन प्लेन ज्यामिति में एक चतुर्भुज चार शीर्षों और चार किनारों के साथ एक बहुभुज बनाता है। नाम 4-gon आदि। चतुर्भुजों के अन्य नामों में शामिल हैं और कभी-कभी उन्हें वर्ग, डिस्प्ले स्टाइल आदि के रूप में भी जाना जाता है।इस लेख में, हम दिए गए बिंदुओं से संभावित चतुर्भुजों की संख्या ज्ञात करने के दृष

  1. C++ में दिए गए बाइनरी ट्री के बाएं लीफ नोड्स का योग ढूंढें C++ में दिए गए बाइनरी ट्री के बाएं लीफ नोड्स का योग ढूंढें

    मान लीजिए हमारे पास एक बाइनरी ट्री है जिसमें एक रूट नोड और उसका बायां बच्चा और दायां बच्चा है। कार्य ट्री के उन लीफ नोड्स का कुल योग ढूंढना है जो अपने पैरेंट नोड के बाईं ओर हैं। उदाहरण के लिए इनपुट-1:        आउटपुट: 15 व्याख्या: दिए गए इनपुट बाइनरी ट्री में, सभी बाएं लीफ नोड

  1. बाइनरी ट्री में रूट से दिए गए नोड तक की दूरी खोजें C++ में बाइनरी ट्री में रूट से दिए गए नोड तक की दूरी खोजें C++ में

    मान लीजिए हमारे पास कुछ नोड्स के साथ एक बाइनरी ट्री है। हमें रूट और दूसरे नोड u के बीच की दूरी खोजनी है। मान लीजिए ट्री नीचे जैसा है: अब (रूट, 6) के बीच की दूरी = 2, पथ की लंबाई 2 है, (रूट, 8) के बीच की दूरी = 3 आदि। इस समस्या को हल करने के लिए, हम नोड को बाएं और दाएं सबट्री में खोजने के लिए एक पुन