最大公约数和最小公倍数
1、最大公约数
所谓“最大公约数”是指两个数(A和B)都能够被C整除,求这个C的最大值问题。
辗转相除的方法
假设存在A和B两个正整数(且A>B),那么令R= A % B,R和B分别取代原来的B和A,重复取余工作,直到R=0(表明那个B就是最大公约数)。
2、最小公倍数
所谓“最小公倍数”是几个数共有的倍数中最小的那个数。
最小公倍数的求法:两个数的乘积除以最大公约数的结果。
1 #!/usr/bin/env python 2 #coding=utf-8 3 '两个整型的最大公约数和最小公倍数' 4 def GCD(a,b): 5 if a > b : 6 A = a 7 B = b 8 else : 9 A = b 10 B = a 11 while True: 12 r = A%B 13 if r != 0: 14 A = B 15 B = r 16 continue 17 else : 18 return B 19 break 20 def LCM(a,b): 21 i = GCD(a,b) 22 return a*b/i 23 print GCD(20,15) 24 print LCM(20,15)