您的位置:首页 > 编程语言 > Python开发

输出 结尾0的个数 分类: python 小练习 2013-12-02 16:46 393人阅读 评论(0) 收藏

2013-12-02 16:46 639 查看
这是网上的一道题目,内容如下:

描述:

给你一个正整数列表 L, 如 L=[2,8,3,50], 输出L内所有数字的乘积末尾0的个数,
如样例L的结果为2.(提示:不要直接相乘,数字很多,可能溢出)

#coding:utf-8
'''
思路:由于2x5=10,分别输出由2和5组成的列表元素乘积,得到2、5的个数,最小的个数即是末尾0的个数

'''
# m、k分别计算乘积式中2、5的个数

m,k=0,0

L=[2,8,3,50]

def main(n):
global m,k

if n%2==0:
m+=1
main(n/2)
if n/2==1:
return 1
elif n%5==0:
k+=1

main(n/5)
if n/5==1:
return 1

if __name__ == '__main__':
for i in L:
main(i)

print min(m,k)  # 2



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐