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

C++ में अद्वितीय अंकों वाली संख्याओं की गिनती


मान लीजिए हमारे पास एक गैर-ऋणात्मक पूर्णांक n है। हमें उन सभी संख्याओं को गिनना है जिनके अंक अद्वितीय हैं x, जहां x रेंज 0 से 10^n में है।

उदाहरण के लिए, यदि संख्या n = 2 है, तो परिणाम 91 होगा, क्योंकि हम 0 से 100 तक 11, 22, 33, 44, 55, 66, 77, 88, 99 के बिना संख्याएं ढूंढना चाहते हैं।

इसे हल करने के लिए, हम निम्नलिखित चरणों का पालन करेंगे:

  • यदि n = 0, तो 1 लौटाएं
  • n := 10 और n का न्यूनतम
  • यदि n = 1, तो 10 लौटाएं
  • ans := 9 और ret := 10
  • i को 2 से n तक लूप करें
    • ans := ans * (9 - i + 2)
    • ret := ret + ans
  • ret लौटाएं

उदाहरण (C++)

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

#include <bits/stdc++.h> using namespace std; class Solution {    public:    int countNumbersWithUniqueDigits(int n) {       if(n == 0)return 1;       n = min(10, n);       if(n == 1)return 10;       int ans = 9;       int ret = 10;       for(int i = 2; i<= n; i++){          ans *= (9 - i + 2);          ret += ans;       }       return ret;    } }; main(){    Solution ob;    cout << (ob.countNumbersWithUniqueDigits(3)); }

इनपुट

3

आउटपुट

739

  1. - C++ में फैक्टोरियल में अंकों की गिनती करें

    हमें एक पूर्णांक मान दिया गया है और कार्य पहले एक संख्या का फैक्टोरियल निकालना है और फिर परिणाम में अंकों की कुल संख्या की गणना करना है। फैक्टोरियल संख्या क्या है एक संख्या का फैक्टोरियल एक संख्या में अंकों को गुणा करके घटते क्रम में 1 से घटाकर गणना की जाती है। इसे प्रतीक ! द्वारा दर्शाया जाता है

  1. - C++ में N से छोटी अधिकतम 2 अद्वितीय अंकों वाली सभी संख्याएं प्रिंट करना

    इस समस्या में, हमें एक पूर्णांक N दिया गया है और हमें N से छोटी उन सभी संख्याओं को प्रिंट करना है जिनमें अधिकतम 2 अद्वितीय अंक हों यानी संख्या बनाने के लिए अधिकतम 2 अलग-अलग अंकों का उपयोग किया जा सकता है। उदाहरण Input: N = 17 Output: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 इस समस्या को हल करने

  1. - पायथन में सम अंकों वाली संख्याएं ढूंढें

    मान लीजिए हमारे पास संख्याओं की एक सूची है। हमें उन संख्याओं को गिनना है जिनमें अंकों की संख्या सम है। इसलिए यदि ऐरे [12,345,2,6,7896] की तरह है, तो आउटपुट 2 होगा, क्योंकि 12 और 7896 में अंकों की संख्या सम है। समाधान के चरण सूची लें और प्रत्येक इंटीजर को स्ट्रिंग में कन्वर्ट करें यदि स्ट्रिंग की ल