問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!
2 つの整数 A , B の最大公約数 (以後 gcd(A , B)) を高速に求めるアルゴリズムとして、ユークリッドの互除法があります。
gcd の演算では、3 つの整数 a, b, c の最大公約数は、gcd(gcd(a,b),c) で求めることができます。
これは 4 つ以上の整数の場合も同様に、a , b , c , d , e , ... の最大公約数は
gcd(...gcd(gcd(gcd(gcd(a,b),c),d),e)...) で求めることができます。
例として、(9,27,33) の最大公約数は gcd(gcd(9,27),33) = gcd(9,33) = 3 といった具合に求めることができます。
与えられる整数の数 N と、整数 A_1, ..., A_N が与えられるので、 A_1, ..., A_N の最大公約数を求めてください。
N
A_1
...
A_N
gcd(A_1 , ... , A_N)
・1 ≦ N ≦ 100
・1 ≦ A_i ≦ 100,000 (1 ≦ i ≦ N)
3
6
18
30
6
5
7
10
30
55
175
1