Ici, nous verrons un problème où nous avons N et la base B. Notre tâche est de compter le nombre de N chiffres en base B sans 0 en tête. Donc si N vaut 2 et B vaut 2, alors il y aura quatre nombres 00, 01, 10 et 11. Ainsi, seuls deux des numéros sont valables pour cette partie. Ils sont 10, 11, sans 0 en tête.
Si la base est B, alors il y a 0 à B-1 nombres différents. Ainsi, B^N différents nombres à N chiffres (y compris les 0 en tête) peuvent être générés. Si nous ignorons le premier nombre 0, alors il y a des nombres B^(N-1). Ainsi, le nombre total de N chiffres sans 0 en tête est 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
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!