Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

Đếm số 0 cuối giai thừa trong C/C++ (phiên bản 2)

Đế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