首頁 >後端開發 >C++ >所有可能的N位數和基數B,但不包括前導零的數字

所有可能的N位數和基數B,但不包括前導零的數字

王林
王林轉載
2023-08-29 21:57:06640瀏覽

所有可能的N位數和基數B,但不包括前導零的數字

在這裡,我們將看到一個問題,我們有N和基數B。我們的任務是計算基數為B的N位數,沒有所有前導0的數字的數量。所以如果N是2,B是2,那麼會有四個數字00、01、10、11。所以只有其中兩個數字對這個部分有效。它們是10、11,沒有前導0。

如果基數是B,那麼有0到B-1個不同的數字。所以可以產生B^N個不同的N位數(包括前導0)。如果我們忽略第一個數字0,那麼有B^(N-1)個數字。所以沒有前導0的總共N位數是B^N - B^(N-1)

演算法

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

的中文翻譯為:

範例

#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

以上是所有可能的N位數和基數B,但不包括前導零的數字的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除