计算n的阶乘末尾有多少个0

 我来答
绳绮波卞璧
2019-03-23 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:30%
帮助的人:904万
展开全部
n整除5(向下去整)就是答案
所谓末尾有0,就是10的倍数
10的因数有1,2,5,10
10的5的倍数,n整除5的过程把10的倍数也算上了
2的倍数比5的倍数多得多,肯定够用
孔昶纪寻
2019-05-08 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:29%
帮助的人:676万
展开全部
乘积末尾的0的个数依赖于因子中的2的个数和5的个数。对于阶乘来说,每2个数字就至少有一个2的因子,所以2的因子是足够的。5的因子相对少些,至少连续5个数才能保证一定出现一个。
注意,这里连续5个数保证出现一个5的因子是指最少的情况。比如1,2,3,4,5,这就只会出现一个。
intnzerooffactorial(intn){
intzerocnt
=
0;
intmultipleof5
=
5;
while
(n
>=
multipleof5)
{
zerocnt
+=
n/multipleof5;
multipleof5
*=
5;
}
returnzerocnt;}
e.g.
nzerooffactorial(81)
=
19
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式