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

C++ में n-अंकीय संख्याएं जिनमें विशेष अंक नहीं है


समस्या विवरण

हमें अंकों की संख्या n और एक अंक digit दिया गया है। उन n-अंकीय संख्याओं की गिनती करनी है जिनमें वह विशेष अंक नहीं आता।

उदाहरण

इनपुट: n = 2, digit = 2

आउटपुट: 153

व्याख्या: 2-अंकीय संख्याएं (10-99) जिनमें अंक 2 नहीं है।

इनपुट: n = 3, digit = 3

आउटपुट: 2187

समाधान दृष्टिकोण

गणितीय सूत्र: प्रत्येक स्थिति के लिए 9 विकल्प (0-9 छोड़कर दिया गया अंक), लेकिन पहली स्थिति के लिए 8 विकल्प (1-9 छोड़कर दिया गया अंक, और 0 नहीं)।

कुल = 8 × 9^(n-1) (यदि digit ≠ 0) कुल = 9 × 9^(n-1) = 9^n (यदि digit = 0)

ब्रूट फोर्स: सभी n-अंकीय संख्याओं (10^(n-1) से 10^n - 1 तक) को जांचें।

कार्यकारी प्रोग्राम (ब्रूट फोर्स)

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

int countWithoutDigit(int n, int digit) {
    int count = 0;
    int minVal = pow(10, n-1);
    int maxVal = pow(10, n);
    for (int i = minVal; i < maxVal; i++) {
        int num = i;
        bool hasDigit = false;
        while (num > 0) {
            if (num % 10 == digit) {
                hasDigit = true;
                break;
            }
            num /= 10;
        }
        if (!hasDigit) count++;
    }
    return count;
}

int main() {
    int n = 2, digit = 2;
    cout << "गिनती: " << countWithoutDigit(n, digit);
    return 0;
}

आउटपुट

गिनती: 153

अनुकूलित गणितीय समाधान

int countMath(int n, int digit) {
    if (digit == 0) return pow(9, n);
    return 8 * pow(9, n-1);
}
  1. - C++ में 1 से n तक की संख्याओं में 4 अंक वाली संख्याएं गिनें

    इस ट्यूटोरियल में, हम 1 से n तक की उन संख्याओं को खोजने के लिए एक प्रोग्राम पर चर्चा करेंगे जिनमें 4 एक अंक के रूप में है।इसके लिए हमें एक संख्या n प्रदान की जाएगी। हमारा कार्य उन सभी संख्याओं को गिनना है जिनमें 4 उनके अंकों में से एक के रूप में है और इसे प्रिंट करना है।उदाहरण#include<iostream>

  1. - C++ में 0 अंक वाली 'd' अंकों की धनात्मक पूर्णांक गिनें

    इस ट्यूटोरियल में, हम d अंकों वाली संख्याएं जिनमें 0 एक अंक के रूप में है, खोजने के लिए एक प्रोग्राम पर चर्चा करेंगे।इसके लिए हमें एक संख्या d प्रदान की जाएगी। हमारा कार्य d अंकों वाली और उनके अंकों में से एक के रूप में 0 वाली धनात्मक पूर्णांकों की संख्या को गिनना और प्रिंट करना है।उदाहरण#include<

  1. - 1 से N तक ऑलमोस्ट अभाज्य संख्याओं की गिनती खोजें C++ में

    मान लीजिए हमारे पास एक संख्या N है। हमें 1 से N की रेंज में ऑलमोस्ट अभाज्य संख्याएं खोजनी हैं। एक संख्या को ऑलमोस्ट अभाज्य कहा जाता है जब उसके ठीक दो अलग-अलग अभाज्य गुणनखंड हों। संख्याओं में कितने भी गैर-अभाज्य गुणनखंड हो सकते हैं, लेकिन दो अभाज्य गुणनखंड होने चाहिए। तो यदि N 21 है, तो आउटपुट 8 होगा