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

दिए गए चार अंकों से बनी nवीं संख्या में अंकों की संख्या C++ में


हमें दिए गए चार अंकों 1, 2, 3, और 4 से बनी nवीं संख्या में अंकों की संख्या ज्ञात करनी है।

उपरोक्त चार अंकों के साथ श्रृंखला निम्न है:

1, 2, 3, 4, 11, 12, 13, 14, 21, 22, 23, 24...

हमें उपरोक्त श्रृंखला से nवीं संख्या के अंकों की संख्या ज्ञात करनी है। यदि आप पैटर्न को ध्यान से देखते हैं, तो आप निम्न बिंदु पाएंगे।

  • 1 अंक वाली 4 संख्याएं हैं।
  • 2 अंक वाली 16 संख्याएं हैं।
  • पैटर्न 4 की घातों के रूप में जारी रहता है।

आइए एक उदाहरण देखते हैं

इनपुट

7

आउटपुट

2

श्रृंखला में 7वीं संख्या 13 है और इसमें अंकों की संख्या 2 है।

एल्गोरिदम

  • संख्या n आरंभ करें।
  • परिणाम स्टोर करने के लिए एक वेरिएबल और श्रृंखला में कुल संख्याओं का योग स्टोर करने के लिए एक और वेरिएबल आरंभ करें।
  • एक लूप बनाएं जो पुनरावृत्ति वेरिएबल को 4 की घातों से बढ़ाता है।
    • वर्तमान संख्या को योग वेरिएबल में जोड़ें।
    • यदि कुल योग n से बड़ा या बराबर है, तो लूप तोड़ें।
    • परिणाम में 1 जोड़ें क्योंकि अगली संख्याओं के सेट में पिछले सेट की तुलना में एक अंक अधिक होगा।
  • परिणाम वापस करें।

कार्यान्वयन

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

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

int getDigitsCount(int n) { 
    int i, result = 1, sum = 0; 
    for (i = 4; ; i *= 4) { 
        sum += i; 
        if (sum >= n) { 
            break; 
        } 
        result += 1; 
    } 
    return result; 
} 

int main() { 
    int n = 57; 
    cout << getDigitsCount(n) << endl; 
    return 0; 
}

आउटपुट

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

3

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

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

  1. - C प्रोग्राम: दी गई संख्या के अंकों का योग एक ही स्टेटमेंट में

    इस खंड में हम देखेंगे कि कई स्टेटमेंट लिखे बिना अंकों का योग कैसे ज्ञात करें। दूसरे शब्दों में, हम एक ही स्टेटमेंट में अंकों का योग ज्ञात करेंगे। जैसा कि हम जानते हैं, अंकों का योग ज्ञात करने के लिए हम संख्या को 10 से विभाजित करने के बाद शेष लेकर अंतिम अंक काटते हैं, और फिर संख्या को 10 से बार-बार

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

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