ユークリッドの互除法(練習)
pythonの練習中。
練習問題:ユークリッドの互除法
2つの数字(入力)から、最大公約数を算出
python3.6
コード
# coding:utf-8
#2つの数字の入力
a = []
a = list(input().split()) #入力受付
a=list(map(int,a)) #文字列→整数化
a.sort(reverse=True) #大→小のソート
i=0
while a[i]%a[i+1]!=0:
a.append(a[i]%a[i+1])
i += 1
print("最大公約数は{0}です".format(a[-1]))
数字入力:1071 1029
アウトプット:最大公約数は21です
合っているかどうか分かりませんが、何とか算出できるようになったのではと思います。もっと効率的に出来る方法があればご教示頂ければと思います。