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

विशेष संख्याओं में अंकों की कुल संख्या ज्ञात करने के लिए C++ कोड

मान लीजिए, हमें एक पूर्णांक संख्या k दी गई है। हम किसी संख्या को विशेष संख्या कहते हैं यदि उस संख्या के सभी अंक समान हों। उदाहरण के लिए, 1, 11, 1111 विशेष संख्याएँ हैं। हम विशेष संख्याओं को 1, 11, 111, 1111, 2, 22, 222, 2222, 3, 33, 333, 3333, आदि क्रम में गिनते हैं। हमें k तक के विशेष अंकों में कुल अंकों की संख्या ज्ञात करनी है। k का मान 10000 से अधिक नहीं है।

इसलिए, यदि इनपुट k =9999 जैसा है, तो आउटपुट 90 होगा।

कदम

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

s := convert k to string
Define an array v of size: := {0, 1, 3, 6, 10}
print(((s[0] - '0') - 1) * 10 + v[length of s])

उदाहरण

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

#include <bits/stdc++.h>
using namespace std;
#define N 100
void solve(int k) {
   string s = to_string(k);
   int v[] = {0, 1, 3, 6, 10};
   cout<< ((s[0] - '0') - 1) * 10 + v[s.length()] << endl;
}
int main() {
   int k = 9999;
   solve(k);
   return 0;
}

इनपुट

9999

आउटपुट

90

  1. C++ में 1 से N तक अंकों की कुल संख्या गिनें

    हमें इनपुट के रूप में एक नंबर N दिया गया है। लक्ष्य संख्या 1 से एन के बीच अंकों की कुल संख्या की गणना करना है। 1 से 9 तक की संख्या में प्रत्येक के लिए 1 अंक की आवश्यकता होती है, 11 से 99 में प्रत्येक के लिए 2 अंकों की आवश्यकता होती है, 100 से 999 में प्रत्येक के लिए 3 अंकों की आवश्यकता होती है और इस

  1. C++ में किसी संख्या के भाज्य में अंकों का योग ज्ञात कीजिए

    मान लीजिए, हमारे पास एक संख्या n है, तो हमारा काम अंकों का योग ज्ञात करना है! n =5 पर विचार करें, फिर n! =120. तो परिणाम 3 होगा। इस समस्या को हल करने के लिए, हम फैक्टोरियल अंकों को स्टोर करने के लिए एक वेक्टर बनाएंगे और इसे 1 से शुरू करेंगे। फिर वेक्टर में 1 से n को एक-एक करके गुणा करें। अब वेक्टर म

  1. N अंक संख्या ज्ञात कीजिए जो C++ में D से विभाज्य है

    मान लीजिए हमारे पास दो संख्याएँ N और D हैं। हमें N अंक संख्या ज्ञात करनी है, जो D से विभाज्य है। यदि N 3 है, और D 5 है, तो संख्या 500 हो सकती है। इसे आसानी से हल किया जा सकता है। यदि D 10 है और N 1 है, तो यह असंभव होगा। हम डी डाल सकते हैं, और मान लें कि डी में एम अंकों की संख्या है, तो इसे एन अंक सं