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

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

हमें दिए गए चार अंकों 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. सी ++ प्रोग्राम किसी दिए गए स्ट्रिंग के क्रमपरिवर्तन की संख्या का पता लगाने के लिए

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

  1. सी प्रोग्राम किसी दिए गए नंबर के अंकों को एकल कथन में योग करने के लिए

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

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

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