永发信息网

python编写程序,计算 1*2*3*…*300 后面有多少个0

答案:3  悬赏:30  手机版
解决时间 2021-03-11 09:34
  • 提问者网友:愿为果
  • 2021-03-10 14:54
急需
最佳答案
  • 五星知识达人网友:一叶十三刺
  • 2021-03-10 16:21
a=reduce(lambda x,y:x*y,range(1,301))
n=0
while a%10**n==0:
    n+=1n
>>>75
所以是74个0.(整除10的74次方没有余数).
全部回答
  • 1楼网友:千杯敬自由
  • 2021-03-10 18:07
123个 from functools import reduce str(reduce(lambda x,y: x*y, range(1, 300))).count('0') 再看看别人怎么说的。
  • 2楼网友:掌灯师
  • 2021-03-10 16:48
每一个5的倍数都会在结果后面增加一个0 每个25的倍数都会再额外增加一个0 ..随判断指标按5的指数增长,都会继续增加0的数量 def computeit(limit):     dsts = xrange(1, limit + 1)     b, p = 0, 0     rst = dsts     while rst:         base = 5**p         rst = [x for x in rst if x/base % 5 == 0]         if rst:             b += len(rst)             p += 1     return  b print computeit(300) print computeit(50000)
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯