分析N!的末尾0的个数

结论:

f(N) = f(N/5) + N/5, N >= 5

f(N) = 0, N < 5 

 

证明:

1)N < 5时,很显然的f(N) = 0

2)设对所有的小于N的数,命题成立。那么N时:

N = N * ... * (5*N/5) * ... * (5*(N/5 - 1)) * ... * (5*1) * 4 * 3 * 2 * 1 

   = 5^(N/5) * (N/5) * (N/5 - 1) * ...  * 1 * a

其中a的因式分解无5。由于[5*i, 5*(i+1)] 0 <= i <= (N/5 - 1)之间存在偶数,因此5^(N/5)每个5都给N!的末尾贡献一个0,

应此f(N) = f(N/5) + N/5

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值