问题描述很简单: 求解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取模来计算尾随零个数...;另外一种更轻量的方法则是直接从尾数零的性质入手:
考虑一下,一个数字A如果有一个尾数零,其实就是意味着A有一个10因子,如果有两个尾数零,则说明A有两个10因子(即有一个 10 * 10 = 100...,考虑数n1:
n1 = N / 5
他表示的是1到N中带有因子5的数字的个数
但根据方法3中的讲述,我们需要求的是1到N中所有因子5的个数
怎么通过n1这种计算方式来计算因子5的总数呢?