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

C++ में {0, 1, 2, 3, 4, 5} अंकों वाली nवीं संख्या


{0, 1, 2, 3, 4, 5} अंकों से बनी संख्याएं हैं

0, 1, 2, 3, 4, 5, 10, 11, 12, 13, 14, 15, 20, 21, 22, 23, 24, 25, आदि...

हम पहले 6 अंकों का उपयोग करके उपरोक्त अनुक्रम बना सकते हैं। आइए संख्याओं के निर्माण का एक उदाहरण देखते हैं।

 1 * 10 + 0 = 10 1 * 10 + 1 = 11 1 * 10 + 2 = 12 1 * 10 + 3 = 13 1 * 10 + 4 = 14 1 * 10 + 5 = 15

इसी तरह, संख्या 2, 3, 4, 5 के लिए लागू करें। आपको उपरोक्त पैटर्न का उपयोग करके 2 के साथ अगली 6 संख्याएं मिलेंगी। और फिर 3 उसके बाद 4 और 5।

एल्गोरिदम

  • संख्या n आरंभ करें।
  • एक वेक्टर आरंभ करें।
  • एक लूप लिखें जो 0 से 5 तक पुनरावृति करता है।
    • सभी संख्याओं को वेक्टर में पुश करें।
  • हमारे पास श्रृंखला की पहली छह संख्याएं हैं।
  • एक लूप लिखें जो 0 से n / 6 तक पुनरावृति करता है।
    • एक लूप लिखें जो 0 से 5 तक पुनरावृति करता है।
      • उपरोक्त चर्चा किए गए पैटर्न के साथ शेष संख्याएं उत्पन्न करें।
      • उन्हें वेक्टर में पुश करें।
  • अनुक्रम से nवीं संख्या वापस करें।
  • कार्यान्वयन

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

    #include <bits/stdc++.h> 
    using namespace std; 
    
    int findNthNumber(int n) { 
        vector<int> numbers; 
        for (int i = 0; i < 6; i++) { 
            numbers.push_back(i); 
        } 
        for (int i = 0; i <= n / 6; i++) { 
            for (int j = 0; j < 6; j++) { 
                if ((numbers[i] * 10) != 0) { 
                    numbers.push_back(numbers[i] * 10 + numbers[j]); 
                } 
            } 
        } 
        return numbers[n - 1]; 
    } 
    
    int main() { 
        int n = 7; 
        cout << findNthNumber(n) << endl; 
        return 0; 
    }

    आउटपुट

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

    10

    1. - C++ में K डिजिट वाली संख्या प्रिंट करना जिसका डिजिटल रूट D हो

      इस समस्या में, हमें दो संख्याएं K और D दी गई हैं। हमारा कार्य K डिजिट की एक संख्या प्रिंट करना है जिसका डिजिटल रूट D के बराबर हो। डिजिटल रूट डिजिटल रूट एक सिंगल-डिजिट मान है जो संख्या के अंकों के रिकर्सिव जोड़ का परिणाम होता है जब तक कि एक सिंगल-डिजिट संख्या न पहुंच जाए। इसे डिजिटल सम भी कहा जाता

    1. - C++ में Nवां ट्राइबोनाची नंबर

      मान लीजिए हमारे पास एक मान n है, हमें nवां ट्राइबोनाची नंबर उत्पन्न करना है। ट्राइबोनाची संख्याएं फाइबोनैचि संख्याओं के समान हैं, लेकिन यहां हम पिछले तीन पदों को जोड़कर एक पद उत्पन्न करते हैं। मान लीजिए हम T(n) उत्पन्न करना चाहते हैं, तो सूत्र इस प्रकार होगा - T(n) = T(n - 1) + T(n - 2) + T(n - 3)

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

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