Pythonで最大公約数を求める方法
Pythonでは、2つの数値の最大公約数を求めるには次の方法が利用できます。
方法1:ループを使用する
def get_common_divisors(num1, num2):
common_divisors = []
smaller_num = min(num1, num2)
for i in range(1, smaller_num + 1):
if num1 % i == 0 and num2 % i == 0:
common_divisors.append(i)
return common_divisors
再帰を使用した方法2
def get_common_divisors(num1, num2):
if num2 == 0:
return num1
else:
return get_common_divisors(num2, num1 % num2)
2つの数の最大公約数を取り出すには、メソッド2の再帰処理が、すべての公約数を取り出すには、メソッド1のループ処理が良い