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

C++ में ऐसा नंबर X खोजें जिसके अंकों के साथ योग N के बराबर हो


इस ट्यूटोरियल में, हम एक ऐसा नंबर ढूंढने जा रहे हैं जिसके अंकों के साथ योग दिए गए नंबर N के बराबर हो।

विचार सरल है, हम दिए गए नंबर के बाएं और दाएं 100 नंबरों की जांच करने जा रहे हैं। यह उस सीमा से बाहर नहीं होगा क्योंकि N ≤ 1000000000 और योग 100 से अधिक नहीं होगा।

आइए प्रॉब्लम को हल करने के चरण देखें।

  • संख्या को इनिशियलाइज़ करें।

  • एक लूप लिखें जो 100 बार पुनरावृति करता है।

    • n - i और n + i के मान प्राप्त करें।

    • अंकों का योग ढूंढें और उन्हें जोड़ें।

    • यदि उनमें से कोई N के बराबर है, तो उन्हें प्रिंट करें।

उदाहरण

आइए कोड देखें।

#include <bits/stdc++.h>
using namespace std;

int digitsSum(int n) {
    int sum = 0;
    while (n) {
        sum += n % 10;
        n /= 10;
    }
    return sum;
}

void findX(long int n) {
    bool is_found = false;
    for (int i = 0; i <= 100; i++) {
        long int valueOnLeft = abs(n - i) + digitsSum(abs(n - i));
        long int valueOnRight = n + i + digitsSum(n + i);
        if (valueOnLeft == n) {
            is_found = true;
            cout << abs(n - i) << " ";
        }
        if (valueOnRight == n) {
            is_found = true;
            cout << (n + i) << " ";
        }
    }
    if (!is_found) {
        cout << "No numbers found";
    }
    cout << endl;
}

int main() {
    int n = 89;
    findX(n);
    return 0;
}

आउटपुट

यदि आप उपरोक्त प्रोग्राम को निष्पादित करते हैं, तो आपको निम्न परिणाम मिलेगा।

76

निष्कर्ष

यदि ट्यूटोरियल में आपके कोई प्रश्न हैं, तो उन्हें टिप्पणी अनुभाग में उल्लेख करें।


  1. - दिए गए अंकों से बनने वाली सबसे बड़ी संख्या खोजें C++ में

    मान लीजिए हमारे पास अंकों का एक ऐरे है। हमें ऐरे के सभी अंकों का उपयोग करके प्राप्त की जा सकने वाली अधिकतम संख्या खोजनी है। तो यदि ऐरे [3, 3, 9, 6, 2, 5] जैसा है, तो अधिकतम संख्या 965332 हो सकती है। समस्या से, हम देख सकते हैं कि हम अंकों को गैर-बढ़ते क्रम में आसानी से सॉर्ट कर सकते हैं, फिर उन्हें प

  1. - C++ का उपयोग करके एक संख्या x खोजें जिसके अंकों का योग x के बराबर दिए गए n के बराबर हो

    यहां हम एक समस्या देखेंगे, जहां हम एक संख्या n लेते हैं, हमें एक अन्य मान x ढूंढना है, जैसे कि x + x के अंकों का योग दी गई संख्या n के बराबर हो। मान लीजिए n का मान 21 है। यह प्रोग्राम x = 15 लौटाएगा, क्योंकि 15 + 15 के अंकों का योग (1+5) = 21 = n होता है। इसे हल करने के लिए, हमें सरल दृष्टिकोण अपना

  1. - C++ में दी गई संख्या n के लिए x ढूंढें जहां x + अंकों का योग = n

    समस्या विवरण एक संख्या n दी गई है, हमें एक मान x ढूंढना है जिससे x + x के अंकों का योग = n हो। उदाहरण के लिए, n = 21 के लिए, x = 15 होगा क्योंकि 15 + (1+5) = 21। हल दृष्टिकोण सरल दृष्टिकोण: 1 से n तक पुनरावृति करें, प्रत्येक संख्या के लिए जांचें कि क्या संख्या + उसके अंकों का योग = n है। यदि हां,