求最大公约数
- 用于计算gcd(m, n)的连续整数检测算法
- 分解质因数法
- 用于计算gcd(m, n)的欧几里得算法
- 用于计算gcd(m, n)的扩展欧几里得算法
# -*- coding:utf-8 -*-
import time
# 用于计算gcd(m, n)的连续整数检测算法
def gcd1(m, n):
'''
第一步:将min{m,n}的值赋给t
第二步:m除以t,n除以t,如果余数均为0,则返回t,否则转至第三步
第三步:把t的值减去1,然后返回第2步
'''
t = min(m, n)
while t:
if m % t == 0 and n % t == 0:
return t
else:
t = t-1
# 分解质因数法
def gcd2(m, n):
'''
第一步:将min{m,n}的值赋给t
第二步:求出m,n的公因数,并累乘求得gcd
'''
t = min