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

सी++ में वां अंक


मान लीजिए कि हमारे पास एक अनंत पूर्णांक अनुक्रम है, हमें इस अनुक्रम का nवां अंक ज्ञात करना है। तो अगर इनपुट 11 है, तो आउटपुट 0 होगा जैसे कि हम 123456789101112 जैसे नंबर डालते हैं, इसलिए 11वां अंक 0 है।

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • लेन:=0 और सीएनटी:=9 और प्रारंभ करें:=1

  • जबकि n> लेन * cnt

    • n :=n - (लेन * सीएनटी)

    • सीएनटी:=सीएनटी * 10, प्रारंभ:=प्रारंभ * 10

    • लेन को 1 से बढ़ाएं

  • प्रारंभ :=प्रारंभ +(n-1) / लेन

  • s :=स्ट्रिंग के रूप में प्रारंभ करें

  • वापसी एस [(एन -1) मॉड लेन]

उदाहरण (C++)

एक बेहतर समझ प्राप्त करने के लिए आइए निम्नलिखित कार्यान्वयन को देखें -

#include <bits/stdc++.h>
using namespace std;
typedef long long int lli;
class Solution {
public:
   int findNthDigit(int n) {
      lli len = 1;
      lli cnt = 9;
      lli start = 1;
      while(n > len * cnt){
         n -= len * cnt;
         cnt *= 10;
         start *= 10;
         len++;
      }
      start += (n - 1) / len;
      string s = to_string(start);
      return s[(n - 1) % len] - '0';
   }
};
main(){
   Solution ob;
   cout << (ob.findNthDigit(11));
}

इनपुट

11

आउटपुट

0

  1. सी++ में ए या बी से विभाज्य एनटी टर्म खोजने का कार्यक्रम

    इस समस्या में, हमें तीन नंबर A, B और N दिए गए हैं। हमारा काम C++ में A या B से विभाज्य Nवें पद को खोजने के लिए एक प्रोग्राम बनाना है। समस्या का विवरण A या B से विभाज्य Nवाँ पद। यहाँ, हम n संख्या पद पाएंगे जो संख्या A या B से विभाज्य है। इसके लिए, हम nth संख्याओं तक गिनेंगे जो A या B से विभाज्य हैं।

  1. iswdigit () C++ STL में कार्य करता है

    सी ++ एसटीएल में, iswdigit() फ़ंक्शन एक अंतर्निहित फ़ंक्शन है जिसका उपयोग यह जांचने के लिए किया जाता है कि दिया गया विस्तृत वर्ण दशमलव अंक वर्ण या कोई अन्य वर्ण है या नहीं। यह फ़ंक्शन C/C++ में cwctype हेडर फ़ाइल में मौजूद है। दशमलव अंक वर्ण क्या हैं? दशमलव अंक वर्ण वे अंकीय मान हैं जो 0 से शुरू हो

  1. nवां नंबर खोजें जिसमें अंक k हो या जो C++ में k से विभाज्य हो

    दो धनात्मक पूर्णांक n और k दिए गए हैं, और हमें nवीं संख्या ज्ञात करनी है जिसमें अंक k है या k से विभाज्य है। k रेंज [2 से 9] में होगा। तो अगर n और k क्रमशः 15 और 3 हैं, तो आउटपुट 33 है। संख्याओं के रूप में [3, 6, 9, 12, 13, 15, 18, 21, 23, 24, 27, 30, 31, 33] ये हैं वे संख्याएँ जहाँ प्रत्येक तत्व मे