n的阶乘

问题描述:问题描述:给定一个整数 N,那么 N 的阶乘 N! 末尾有多少个 0?例如:N = 10,则 N!= 3628800,那么 N! 的末尾有两个0。

方案1:求阶乘,一直除以10  直到余数不为0  计算0的个数

方案2:10的最小公约数时候2和5得到的,2的倍数比5的多  多以求 阶乘的数据中可以获取多少个5  就得到可以获取多少个0了

int f(n){
    return n == 0 ? 0 : n / 5 + f(n / 5);
}
原文地址:https://www.cnblogs.com/xiatc/p/12372251.html