यहां हम एक समस्या देखेंगे, हमारे पास एन और आधार बी है। हमारा काम आधार बी के सभी एन अंकों की संख्या को बिना किसी अग्रणी 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