引用
(引用)
問題文
数列 A (A1,A2,A3,…,AN)が与えられます。正の整数 k の GCD 度を、A1,A2,A3,…,ANのうち k で割り切れるものの数と定義します。
2 以上の整数のうち GCD 度が最大になるものを一つ求めてください。 GCD 度が最大のものが複数ある場合どれを出力しても構いません。
制約
1≤N≤100
2≤Ai≤1000
入力は全て整数
入力
入力は以下の形式で標準入力から与えられる。
N A1A2A3…AN
出力
2 以上の整数のうち GCD 度が最大になるものを一つ出力せよ。GCD 度が最大のものが複数ある場合どれを出力してもよい。
AtCoder Beginner Contest182 B – Almost GCDより引用
入力
入力は以下の形式で標準入力から与えられる。
N A1A2A3…AN
出力
2 以上の整数のうち GCD 度が最大になるものを一つ出力せよ。GCD 度が最大のものが複数ある場合どれを出力してもよい。
入力例 2
5 8 9 18 90 72
出力例 2
9(もしくは2や3)
9で割り切れる個数4 2で割り切れる個数4 3で割り切れる個数4(GCD度4が最大)
考えてみました
入力
N = int(input())
A = [int(x) for x in input().split()]
"2で割り切れるかな?3で割り切れるかな?の個数を別リストにしてみるか"
m = max(A)
ans = 0
B = []
for k in range(2, m + 1):
cnt = 0
for i in A:
if i % k == 0:
cnt += 1
B.append(cnt)
print(B.index(max(B)) + 2)
コメント