给你一个正整数列表 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))
网友评论