Rumah > pembangunan bahagian belakang > C++ > Program C/C++ untuk mengira bilangan sifar mengekor dalam pemfaktoran nombor

Program C/C++ untuk mengira bilangan sifar mengekor dalam pemfaktoran nombor

WBOY
Lepaskan: 2023-08-29 12:29:05
ke hadapan
1484 orang telah melayarinya

Di sini kita akan belajar cara mengira bilangan jejak 0s dalam hasil pemfaktoran sebarang nombor. Jadi jika n = 5, maka 5! =120. Hanya ada satu di belakang 0. Untuk 20!, ia akan menjadi 4 sifar sebagai 20 = 2432902008176640000.

Cara paling mudah ialah mengira faktorial dan mengira 0. Tetapi untuk nilai n yang lebih besar, pendekatan ini gagal. Jadi kita akan mengambil pendekatan lain. Jika faktor perdana ialah 2 dan 5, maka sifar tertinggal akan muncul. Jika kita mengira 2 dan 5, kita dapat hasilnya. Untuk melakukan ini, kami akan mengikuti peraturan ini.

Mengekor 0 = kiraan 5 dalam faktorial(n) faktor perdana

Program C/C++ untuk mengira bilangan sifar mengekor dalam pemfaktoran nombor

Algoritma #🎜🎜🎜##🎜 countTrailingZeros (n) Terjemahan bahasa Cina bagi

begin
   count := 0
   for i := 5, (n/i) >= 1, increase i := i * 5, do
      count := count + (n / i)
   done
   return count;
end
Salin selepas log masuk

Contoh

ialah:

Contoh

#include <iostream>
#include <cmath>
#define MAX 20
using namespace std;
int countTrailingZeros(int n) {
   int count = 0;
   for (int i = 5; n / i >= 1; i *= 5)
      count += n / i;
   return count;
}
main() {
   int n = 20;
   cout << "Number of trailing zeros: " << countTrailingZeros(n);
}
Salin selepas log masuk

Output#🎜🎜🎜🎜

Atas ialah kandungan terperinci Program C/C++ untuk mengira bilangan sifar mengekor dalam pemfaktoran nombor. 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