Maison  >  Article  >  développement back-end  >  Tous les N chiffres possibles et la base B, mais à l'exclusion des nombres avec des zéros non significatifs

Tous les N chiffres possibles et la base B, mais à l'exclusion des nombres avec des zéros non significatifs

王林
王林avant
2023-08-29 21:57:06611parcourir

Tous les N chiffres possibles et la base B, mais à lexclusion des nombres avec des zéros non significatifs

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)

Algorithme

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

Exemple

La traduction chinoise est :

Exemple

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

Sortie

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer