IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    一堆数的最小公倍数--python

    Fish (fsh267@gmail.com)发表于 2014-02-07 00:00:00
    love 0

    #问题描述:

    给你一个正整数list L, 如 L=[2,8,3,50], 求列表中所有数的最小公倍数(不用考虑溢出问题)
    如L=[3,5,10], 则输出30

    #思路分析: 参考博文 趣题:不用除法,如何求n个数的最小公倍数 , 思路就是每行的最小数字都加上自己,直到都相等为止。如下例子:

    30 12 18
    30 24 18
    30 24 36
    30 36 36
    60 36 36
    60 48 36
    60 48 54
    60 60 54
    60 60 72
    90 60 72
    90 72 72
    90 84 72
    90 84 90
    90 96 90
    120 96 90
    120 96 108
    120 108 108
    120 120 108
    120 120 126
    150 120 126
    150 132 126
    150 132 144
    150 144 144
    150 156 144
    150 156 162
    180 156 162
    180 168 162
    180 168 180
    180 180 180

    ##代码如下

    L = [2, 5, 6, 7]
    b = [i for i in L]
    length = len(L)
    def all_equal(ilist):
    	start  = ilist[0]
    	for key in ilist[1:]:
    		if start != key:
    			return False
    	return True
    while not all_equal(L):
    	min_num = min(L)
    	for index, item in enumerate(L):
    		if item == min_num:
    			L[index] += b[index]
    print L[0]


沪ICP备19023445号-2号
友情链接