LeetCode172-阶乘后的零
传送门 对于任意一个数,×10就能使它尾部多一个0。分析一下样例,n=5时n!=12345=120,其实就是134(25) = 12 * 10。即,产生一个末尾0的原因是累乘的数里能凑一个“10”出来。那么我们只需要统计相乘的n个数有能凑几个10就行。更进一步简化, 由于10=2*5,且固定的范围内,因子5总是比因子2要少。所以,可以直接统计所有累乘的因子里5的数量。 class Solution { public: int trailingZeroes(int n) { if (n == 0) return 0; /* * 对于任意一个数,×10就能使它尾部多一个0 * 分析一下样例,n=5时n!=1*2*3*4*5=120,其实就是1*3*4*(2*5) = 12 * 10 * 即,产生一个末尾0的原因是累乘的数里能凑一个“10”出来 * 那么我们只需要统计相乘的n个数有能凑几个10就行 * 更进一步简化, 由于10=2*5,且固定的范围内,因子5总是比因子2要少 * 所以,可以直接统计所有累乘的因子里5的数量。 */ int cnt = 0; for (int i …