算法小记:n的阶乘(n!)末尾有多少个0 | 您所在的位置:网站首页 › 表示自然数的个数有几个 › 算法小记:n的阶乘(n!)末尾有多少个0 |
n的阶乘(n!)末尾有多少个0? 代码实现非常简单!!!---- n!的末尾有count个0. int n; // n!的末尾有count个0. int count = 0; for (int i = 0; i n /= 5; count += n; }第一轮 用 n/5 (整数除法运算)得到1-n中含有因子5的整数的个数。 然后 count += n; 第二轮 再用 n/5 经历过第一轮,实际上此轮相当于 n/25 即含有25作为因子的个数,虽然含有25作为因子的整数含有两个因子5应该加两次 但是含有25的整数必然含有因子5,在第一轮已经计算过一次了,所以这轮每个含有25的整数只需计算一次 第n轮 以此类推,n持续除以5,直到除至含有5的最高次幂的因数。 |
CopyRight 2018-2019 实验室设备网 版权所有 |