方法
先用兩個數公有的質因數連續去除,一直除到所得的商是互質數為止
實現代碼
# -*- 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))