यहां हम एक समस्या देखेंगे, हमारे पास एन और आधार बी है। हमारा काम आधार बी के सभी एन अंकों की संख्या को बिना किसी अग्रणी 0 के गिनना है। अतः यदि N 2 है और B 2 है तो चार संख्याएँ 00, 01, 10, 11 होंगी। तो उनमें से केवल दो ही इस खंड के लिए मान्य हैं। ये 10, 11 हैं, कोई अग्रणी 0 नहीं हैं।
यदि आधार बी है, तो 0 से बी -1 अलग-अलग अंक हैं। तो बी N विभिन्न एन अंकों के मूल्यों की संख्या उत्पन्न की जा सकती है (अग्रणी 0 सहित)। पहला अंक 0m है यदि हम इसे अनदेखा करते हैं तो B N-1 . हैं संख्या। तो कुल N अंक संख्याएं जिनमें कोई अग्रणी 0 नहीं है, वे हैं B N - बी N-1
एल्गोरिदम
गिनतीNDigitNum(N, B)
Begin total := BN with_zero := BN-1 return BN – BN-1 End
उदाहरण
#include <iostream>
#include <cmath>
using namespace std;
int countNDigitNum(int N, int B) {
int total = pow(B, N);
int with_zero = pow(B, N - 1);
return total - with_zero;
}
int main() {
int N = 5;
int B = 8;
cout << "Number of values: " << countNDigitNum(N, B);
} आउटपुट
Number of values: 28672