Skip to content

Instantly share code, notes, and snippets.

@sanpingz
Last active December 16, 2015 05:09
Show Gist options
  • Save sanpingz/5382787 to your computer and use it in GitHub Desktop.
Save sanpingz/5382787 to your computer and use it in GitHub Desktop.
最小公倍数
#!/usr/bin/env python
# coding: utf-8
# 最大公约数
#欧几里德算法又称辗转相除法,用于计算两个整数m, n的最大公约数。其计算原理依赖于下面的定理:
# gcd(m, n) = gcd(n, m mod n)
#这个定理的意思是:整数m、n的最大公约数等于n和m除以n的余数的最大公约数。
def gcd(m, n):
while n:
m, n = n, m % n
return m
# 最小公倍数
def lcm(m,n):
return m*n/gcd(m,n)
if __name__ == '__main__':
print reduce(lcm, range(1, 10))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment