Đếm số 0 cuối của n! bằng cách đếm ước 5 trong phân tích thừa số.
Công thức: count = n/5 + n/25 + n/125 + ...
Chương trình
#include <iostream>
#include <cmath>
using namespace std;
int trailingZeros(int n) {
int count = 0;
for (int i = 5; n / i >= 1; i *= 5)
count += n / i;
return count;
}
int main() {
int n = 20;
cout << "So 0 cuoi cua " << n << "! = " << trailingZeros(n);
return 0;
}
Kết quả
So 0 cuoi cua 20! = 4