Heim >Backend-Entwicklung >C++ >Alle möglichen N-Ziffern und Basis B, jedoch mit Ausnahme von Zahlen mit führenden Nullen

Alle möglichen N-Ziffern und Basis B, jedoch mit Ausnahme von Zahlen mit führenden Nullen

王林
王林nach vorne
2023-08-29 21:57:06681Durchsuche

Alle möglichen N-Ziffern und Basis B, jedoch mit Ausnahme von Zahlen mit führenden Nullen

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)

Algorithmus

countNDigitNum(N, B)

Begin
   total := B<sup>N</sup>
   with_zero := B<sup>N-1</sup>
   return BN &ndash; B<sup>N-1</sup>
End

Beispiel

Die chinesische Übersetzung lautet:

Beispiel

#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);
}

Ausgabe

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen