问题描述很简单: 求解N阶乘的尾随零个数
而所谓尾随零个数,即是从个位数开始,数字连续为0的个数.
譬如:
3!(阶乘符号,下同) = 3 * 2 * 1 = 6, 尾随零个数为0
5!...= 5 * 4 * 3 * 2 * 1 = 120, 尾随零个数为1
10!...= 10 * 9 * … * 1 = 3628800, 尾随零个数为2
OK,明白问题之后,我们就来尝试算一算吧~
方法1
既然要求解阶乘值的尾随零个数,直观的方法就是首先算出阶乘值,然后对10取模来计算尾随零个数...factorial_factor_2_count(n), factorial_factor_5_count(n))
end
方法3
考虑方法2的解法步骤,我们分别计算了N阶乘中因子2的个数和因子5的个数,但实际上,...这也意味着实际上我们只需要计算N阶乘中因子5的个数就可以了~
代码如下:
function factor_5_count(n)
local count = 0
while n % 5 =