是个传颂厨

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
给你一个正整数list L, 如 L=[2,8,3,50], 求列表中所有数的最小公倍数(不用考虑溢出问题)。
如L=[3,5,10], 则输出30
一个个求解,将第一,二个求出来放在第二个,再将第二个和第三个求出来放在第三个,以此类推。
# -*- coding: UTF-8 -*-
L = [3, 5, 10]
def lcm(x, y):#判断两数的最小共备注
    if x > y:#弄出较大数
        greater = x
    else:
        greater = y
    while True:#求公倍数
        if greater % x == 0 and greater % y == 0:
            sum0 = greater
            break
        greater += 1
    return sum0
for i in xrange(len(L)-1):
    L[i+1] = lcm(L[i], L[i+1])
print L[-1]

就是这样了。

posted on 2016-04-19 11:23  是个传颂厨  阅读(165)  评论(0编辑  收藏  举报