N個の最大公約数の求め方
N個の最大公約数を求める
の最大公約数を求めるにはユークリッド互除法を用いる.
ユークリッド互除法
また,以下が成り立つ.
これより,
を繰り返して行くことで最大公約数を求めることができる.
pythonでプログラムを書くと以下のようになる.(標準入力としてN個の値が与えられるとする)
#標準入力の読み込み x_str=input().split() x=list(map(int, x_str)) n=len(x) #ユークリッド互除法の関数の定義 def gcd(a,b): if b==0:return a return gcd(b,a%b) if n==1: print(x[0]) else: element = gcd(x[0], x[1]) if n==2:print(element) else: for i in range(2,n): element=gcd(element,x[i]) print(element)