>  기사  >  백엔드 개발  >  가능한 모든 N 숫자 및 기본 B(단, 앞에 0이 있는 숫자는 제외)

가능한 모든 N 숫자 및 기본 B(단, 앞에 0이 있는 숫자는 제외)

王林
王林앞으로
2023-08-29 21:57:06611검색

가능한 모든 N 숫자 및 기본 B(단, 앞에 0이 있는 숫자는 제외)

여기서 N과 염기 B가 있는 문제를 볼 수 있습니다. 우리의 임무는 앞에 0을 붙이지 않고 B진에서 N자리 숫자의 개수를 세는 것입니다. 따라서 N이 2이고 B가 2라면 00, 01, 10, 11이라는 네 개의 숫자가 있습니다. 따라서 이 부분에는 숫자 중 두 개만 유효합니다. 앞에 0이 붙지 않고 10, 11입니다.

밑이 B라면 0부터 B-1까지의 다른 숫자가 있습니다. 따라서 B^N개의 서로 다른 N자리 숫자(선행 0 포함)가 생성될 수 있습니다. 첫 번째 숫자 0을 무시하면 B^(N-1) 숫자가 있습니다. 따라서 앞에 0이 없는 N 자리의 총 개수는 B^N - B^(N-1)

Algorithm

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

Example

중국어 번역은 다음과 같습니다:

Example

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

Output

으으으으

위 내용은 가능한 모든 N 숫자 및 기본 B(단, 앞에 0이 있는 숫자는 제외)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제