Hier sehen wir ein Problem, bei dem wir N und Basis B haben. Unsere Aufgabe besteht darin, die Anzahl der N Ziffern in Basis B ohne führende Nullen zu zählen. Wenn also N 2 und B 2 ist, dann gibt es vier Zahlen: 00, 01, 10 und 11. Daher sind für diesen Teil nur zwei der Zahlen gültig. Sie sind 10, 11, ohne führende Nullen.
Wenn die Basis B ist, dann gibt es 0 bis B-1 verschiedene Zahlen. So können B^N verschiedene N-stellige Zahlen (einschließlich führender Nullen) generiert werden. Wenn wir die erste Zahl 0 ignorieren, dann gibt es B^(N-1) Zahlen. Die Gesamtzahl der N Ziffern ohne führende 0 ist also B^N - B^(N-1)
Begin total := B<sup>N</sup> with_zero := B<sup>N-1</sup> return BN – B<sup>N-1</sup> 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
Das obige ist der detaillierte Inhalt vonAlle möglichen N-Ziffern und Basis B, jedoch mit Ausnahme von Zahlen mit führenden Nullen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!