最大公约数和最小公倍数

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)

 

 

posted @ 2014-07-01 16:37  开心的菜花  阅读(302)  评论(0编辑  收藏  举报