求最大公约数和最小公倍数
1 import time 2 3 # 初始时间 4 chuShi = time.time() 5 6 # 求最大公约数 7 ## 辗转相除法:取两个数中最大的数做除数,较小的数做被除数,用最大的数除较小数,如果余数为0,则较小数为这两个数的最大公约数, 8 ## 如果余数不为0,用较小数除上一步计算出的余数,直到余数为0,则这两个数的最大公约数为上一步的较小数。 9 10 def gcd(n1,n2): 11 if(n1%n2==0): 12 return n2 13 return gcd(n2,n1%n2) 14 15 ## 求最小公倍数 16 ## 最小公倍数=两整数的乘积 / 最大公约数 17 18 def k(a=1, b=2): 19 print("最大公约数 "gcd(a,b)) 20 print("最小公倍数 "int(a*b / gcd(a,b))) 21 22 # 结束时间 23 jeiShu = time.time() 24 zongShiJian = jeiShu - chuShi 25 # 总共花费的时间 26 print(zongShiJian) 27 28 k(407483957, 30479834)