欧几里得算法+Python代码
算法原理 对于a = b*q + c 存在(a,b) = (b,c) 证明: 令d = (a,b) 有d|a, d|b 由c = a - b*q 知d|c,即d是b,c的公因数 令e = (b,c) 显然有d<=e 而e|b, e|c 由a = b*q + c 知e|a,即e是a,b的公因数 可得d>=e d=e,即(a,b) = (b,c) Python代码 # encoding:utf-8 def myGCD(a, b): """ a,b顺序无所谓 """ while b != 0: # print(a, b) a, b = b, a % b return a # print(myGCD(12075, 4655)) print(myGCD(172, 46)) 来源: https://www.cnblogs.com/kexve/p/11878136.html