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

C++ में दिए गए नंबर में सभी 0 को 5 से बदलने का प्रोग्राम लिखें


एक पूर्णांक N दिया गया है, कार्य संख्या में आने वाले सभी 0 को '5' से बदलना है। हालांकि, अग्रणी '0' वाली संख्या को '5' से नहीं बदला जा सकता क्योंकि यह अपरिवर्तित रहती है। उदाहरण के लिए,

इनपुट-1 -

N = 1007

आउटपुट -

1557

व्याख्या - दी गई संख्या में 2 शून्य हैं जिन्हें '5' से बदलने पर आउटपुट 1557 होता है।

इनपुट-2 -

N = 00105

आउटपुट -

155

व्याख्या - चूंकि दी गई संख्या अग्रणी '0' से शुरू होती है जिसे नजरअंदाज किया जा सकता है और बीच में 0 को '5' से बदलने पर आउटपुट 155 होता है।

इस प्रॉब्लम को हल करने का दृष्टिकोण

दिए गए नंबर में सभी 0 को '5' से बदलने के लिए हम नंबर का अंतिम अंक ढूंढ और निकाल सकते हैं। यदि उस नंबर का अंतिम अंक '0' है तो मान को बदलकर '5' से बदलें और दूसरा अंक निकालें। हालांकि, दिए गए नंबर में किसी भी अग्रणी '0' को नजरअंदाज किया जाना चाहिए।

इस प्रॉब्लम को रिकर्सन दृष्टिकोण का उपयोग करके हल किया जा सकता है जहां हम पहले अंतिम अंक निकालेंगे और फिर उसी फंक्शन को कॉल करेंगे जबकि उस नंबर के दूसरे अंक को निकालते हैं।

  • एक नंबर N का इनपुट लें।

  • एक पूर्णांक फंक्शन convertToFive(int N) एक नंबर को इनपुट के रूप में लेता है और सभी 0 को '5' से बदलकर संशोधित नंबर लौटाता है।

  • बेस केस में, यदि नंबर '0' है, तो 0 लौटाएं, अन्यथा उस नंबर का अंतिम अंक निकालें और जांचें,

  • यदि नंबर का अंतिम अंक '0' है तो मान को '5' से बदलें।

  • रिकर्सिव फंक्शन लौटाएं जो नंबर को '10' से विभाजित करके और '10' से गुणा करके नंबर का दूसरा अंक लेता है।

  • आउटपुट लौटाएं जो अंतिम अंक को इसमें जोड़कर निकालता है।

उदाहरण

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

int convertToFive(int N) {
    if (N == 0) {
        return 0;
    }
    int last_digit = N % 10;
    if (last_digit == 0)
        last_digit = 5;
    return convertToFive(N / 10) * 10 + last_digit;
}

int main() {
    int N = 14006;
    cout << convertToFive(N) << endl;
}

आउटपुट

यदि हम उपरोक्त कोड चलाएंगे, तो यह आउटपुट के रूप में प्रिंट करेगा,

14556

चूंकि दी गई संख्या में दो 0 हैं, संख्या 14006 को बदलने के बाद, यह 14556 बन जाएगी।


  1. - C++ प्रोग्राम: दी गई स्ट्रिंग के क्रमचय (Permutations) की संख्या ज्ञात करना

    हम एक स्ट्रिंग के कैरेक्टर्स को अलग-अलग क्रम में व्यवस्थित कर सकते हैं। यहां हम देखेंगे कि दी गई स्ट्रिंग से कितने क्रमचय बनाए जा सकते हैं। हम जानते हैं कि यदि एक स्ट्रिंग abc है। इसमें तीन कैरेक्टर्स हैं; हम उन्हें 3! = 6 अलग-अलग तरीकों से व्यवस्थित कर सकते हैं। इसलिए n कैरेक्टर्स वाली स्ट्रिंग क

  1. - C++ प्रोग्राम दी गई संख्या के अंकों का योग करने के लिए

    C++ भाषा में अंकों का योग गणना करने का एक उदाहरण निम्नलिखिक है, उदाहरण #include<iostream> using namespace std; int main() {    int x, s = 0;    cout << "संख्या दर्ज करें: ";    cin >> x;    while (x != 0) {       s =

  1. - पायथन प्रोग्राम: संख्या में सभी 0 को 5 से बदलें (अग्रणी शून्य को छोड़कर)

    समस्या विवरण एक पूर्णांक N दिया गया है, इसमें आने वाले सभी 0 को 5 से बदलें। लेकिन अग्रणी (leading) शून्यों को अनदेखा करें। उदाहरण 1 इनपुट: N = 1007 आउटपुट: 1557 व्याख्या: दो 0 को 5 से बदला गया। उदाहरण 2 इनपुट: N = 00105 आउटपुट: 155 व्याख्या: अग्रणी 00 को अनदेखा किया, बीच के 0 को 5 से बदला। समाधान