এখানে আমরা একটি সমস্যা দেখতে পাব, আমাদের N এবং বেস B আছে। আমাদের কাজ হল কোন অগ্রণী 0 ছাড়াই বেস B এর সমস্ত N সংখ্যা গণনা করা। সুতরাং যদি N 2 হয় এবং B 2 হয় তাহলে চারটি সংখ্যা 00, 01, 10, 11 হবে। সুতরাং তাদের মধ্যে শুধুমাত্র দুটি এই বিভাগের জন্য বৈধ। এগুলি হল 10, 11, কোন অগ্রণী 0 নেই৷
৷যদি ভিত্তি B হয়, তাহলে 0 থেকে B – 1টি ভিন্ন সংখ্যা আছে। তাই B N বিভিন্ন N সংখ্যার মানের সংখ্যা তৈরি করা যেতে পারে (প্রধান 0 সহ)। প্রথম সংখ্যাটি 0m যদি আমরা এটিকে উপেক্ষা করি সেখানে B N-1 আছে সংখ্যা সুতরাং মোট N সংখ্যার সংখ্যা যার কোন অগ্রণী 0 নেই তা হল B N – B N-1
অ্যালগরিদম
countNDigitNum(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