方法
先用两个数公有的质因数连续去除,一直除到所得的商是互质数为止
实现代码
# -*- coding:utf-8 -*- def division(a,b): """判定两个数是否为互质数""" for i in range(2, min(a,b)+1): if a%i == 0 and b%i == 0: return False return True def common_div(a, b): """获得两个数的公约数列表""" min_num = min(a,b) commons = [1,] for i in range(2,min_num+1): if a%i == 0 and b%i == 0: commons.append(i) a = a/i b = b/i if division(a,b): break return commons def get_common_div(lis): """计算列表中元素的乘积""" s = 1 for i in lis: s *= i return s if __name__ == "__main__": print division(9,8) print get_common_div(common_div(100,80))