结尾0的个数(问题来源PythonTip)

给你一个正整数列表 L, 输出L内所有数字的乘积末尾0的个数。(提示:不要直接相乘,数字很多,相乘得到的结果可能会很大)。

例如: L=[2,8,3,50],

则输出:2

利用2 和 5

思路:

算各个数的素因数里面有几个2和5

加起来

min

就是0的个数

一对2 和5就是10

L = [2,8,3,50]

c2 = 0
c5 = 0

for i in L:
    while i % 2==0:
        c2+=1
        i/=2
    while i%5==0:
        c5+=1
        i/=5
print(min(c2,c5))

猜你喜欢

转载自www.cnblogs.com/Weixu-Liu/p/9165381.html