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

C++ में समान संख्या में A और B अंकों वाली N से बड़ी अगली संख्या


दिए गए N, A, और B। उस संख्या को ढूंढें जो N से बड़ी है जिसमें A और B अंकों की समान संख्या है। आइए एक उदाहरण देखते हैं।

N = 1234 A = 2 B = 3

हमें दी गई संख्या के अंकों की हर संभावना की जांच करनी होगी। संख्या बनाने के लिए दो अंक हैं। और संख्या में प्रत्येक अंक की गिनती समान होनी चाहिए।

एल्गोरिदम

  • A, B, और N आरंभ करें।
  • एक पुनरावर्ती फ़ंक्शन लिखें।
    • जांचें कि वर्तमान संख्या N से बड़ी है और इसमें A और B अंकों की समान संख्या है।
    • यदि उपरोक्त शर्त पूरी होती है तो संख्या वापस करें।
    • परिणाम में अंक A जोड़ें।
    • परिणाम में अंक B जोड़ें।
    • उपरोक्त दो में से न्यूनतम संख्या के साथ पुनरावर्ती फ़ंक्शन को कॉल करें।

कार्यान्वयन

निम्नलिखित C++ में उपरोक्त एल्गोरिदम का कार्यान्वयन है:

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

long getNextGreaterElement(long result, int A, int A_Count, int B, int B_Count, int N) { 
    if (result > 1e11) { 
        return 1e11; 
    } 
    if (A_Count == B_Count && result >= N) { 
        return result; 
    } 
    return min(getNextGreaterElement(result * 10 + A, A, A_Count + 1, B, B_Count, N), 
        getNextGreaterElement(result * 10 + B, A, A_Count, B, B_Count + 1, N)); 
} 

int main() { 
    int N = 1234; 
    int A = 2; 
    int B = 3; 
    cout << getNextGreaterElement(0, A, 0, B, 0, N) << endl; 
    return 0; 
}

आउटपुट

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

2233

  1. - C++ में संख्या को केवल 3 और 8 अंकों में बदलना

    इस ट्यूटोरियल में, हम एक संख्या को केवल 3 और 8 अंकों वाले में बदलने के लिए एक प्रोग्राम पर चर्चा करेंगे।इसके लिए हमें एक रैंडम संख्या प्रदान की जाएगी। हमारा कार्य संख्या के अंकों को केवल 3 और 8 में बदलना है या तो संख्या से 1 जोड़/घटाकर या संख्या के अंकों को किसी वांछित अंक में बदलकर।उदाहरण#include &

  1. - C++ में केवल 4 और 7 अंकों वाली दी गई योग की न्यूनतम संख्या

    समस्या कथनभाग्यशाली संख्याएं वे धनात्मक पूर्णांक हैं जिनके दशमलव प्रतिनिधित्व में केवल भाग्यशाली अंक 4 और 7 होते हैं। कार्य न्यूनतम भाग्यशाली संख्या खोजना है जिसके अंकों का योग n के बराबर हो।उदाहरणयदि योग = 22 तो भाग्यशाली संख्या 4477 है क्योंकि 4 + 4 + 7 + 7 = 22एल्गोरिदम1. यदि योग 4 का गुणक है, तो

  1. - C++ प्रोग्राम: दी गई संख्या से बड़ा अगला पूर्ण वर्ग ज्ञात करना

    मान लें हमारे पास एक संख्या n है। हमारा कार्य n की अगली पूर्ण वर्ग संख्या ज्ञात करना है। इसलिए यदि संख्या n = 1000 है, तो अगली पूर्ण वर्ग संख्या 1024 = 322 है। इसे हल करने के लिए, हमें दी गई संख्या n का वर्गमूल प्राप्त करना होगा, फिर उसका फ्लोर लेना होगा, उसके बाद (फ्लोर मान + 1) का वर्ग प्रदर्शित