#Leetcode 172.阶乘后的零

规律: 这 9 个数字中只有 2(它的倍数) 与 5 (它的倍数)相乘才有 0 出现。所以,现在问题就变成了这个阶乘数中能配 多少对 2 与 5。
可以发现,一个数字进行拆分后 2 的个数肯定是大于 5 的个数的,所以能匹配多少对取决于 5 的个数。那么问题又变成了 统计阶乘数里有多少个 5 这个因子。
需要注意的是,像 25,125 这样的不只含有一个 5 的数字的情况需要考虑进去。所以除了计算 n/5,还要计算 n/5/5 , n/5/5/5 , n/5/5/5/5 , …, n/5/5/5,/5直到商为0,然后求和即可。

def solution(n):
   if n==0:
    return 0;
   else:
    return n//5+solution(n//5)
print(solution(5))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值