""" 用辗转相除法求最大公约数的算法如下: 两个正整数a和b(a>b),它们的最大公约数等于a除以b的余数c和b之间的最大公约数。 比如10和25,25除以10商2余5,那么10和25的最大公约数,等同于10和5的最大公约数。 """ def gongyue(a, b): """ 求最大公约数 :param a: 第一个数 :param b: 第二个数 :return: """ while b != 0: temp = a % b a, b = b, temp return a def zuijianbi(a, b): """ 求最简整数比 :param a: :param b: :return: """ bigcommon = gongyue(a, b) return a//bigcommon, b//bigcommon print("最大公约数:", gongyue(1920, 1080)) print("最简整数比:", zuijianbi(1920, 1080))
最大公约数: 120
最简整数比: (16, 9)
参考自:https://www.jb51.net/article/180284.htm