Rumah > pembangunan bahagian belakang > C++ > Semua kemungkinan N digit dan asas B, tetapi tidak termasuk nombor dengan sifar pendahuluan

Semua kemungkinan N digit dan asas B, tetapi tidak termasuk nombor dengan sifar pendahuluan

王林
Lepaskan: 2023-08-29 21:57:06
ke hadapan
627 orang telah melayarinya

Semua kemungkinan N digit dan asas B, tetapi tidak termasuk nombor dengan sifar pendahuluan

Di sini kita akan melihat masalah di mana kita mempunyai N dan asas B. Tugas kita ialah mengira bilangan N digit dalam asas B tanpa mendahului 0. Jadi jika N ialah 2 dan B ialah 2, maka akan ada empat nombor 00, 01, 10, dan 11. Jadi hanya dua daripada nombor yang sah untuk bahagian ini. Mereka adalah 10, 11, tanpa mendahului 0.

Jika asasnya B, maka terdapat 0 hingga B-1 nombor yang berbeza. Jadi B^N nombor N-digit yang berbeza (termasuk 0s pendahuluan) boleh dijana. Jika kita mengabaikan nombor pertama 0, maka terdapat nombor B^(N-1). Jadi jumlah bilangan N digit tanpa mendahului 0 ialah B^N - B^(N-1)

Algoritma

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
Salin selepas log masuk

Contoh

Terjemahan bahasa Cina ialah:

Contoh

#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);
}
Salin selepas log masuk

Output

Number of values: 28672
Salin selepas log masuk

Atas ialah kandungan terperinci Semua kemungkinan N digit dan asas B, tetapi tidak termasuk nombor dengan sifar pendahuluan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan