【ABC162 C】「Sum of gcd of Tuples (Easy)」を解く【Python3】

abc162c

「AtCoder」解説一覧へ

Kの入力に対し、「1≦a≦k」「1≦b≦k」「1≦c≦k」となるすべてのパターンのgcd(a,b,c)の合計値を出す問題です。

gcd()は、最大公約数を表します。

提出
import math
k = int(input())
ans = 0

for i in range(1, k+1):
    for j in range(1, k+1):
        num = math.gcd(i, j)
        for l in range(1, k+1):
            ans += math.gcd(num, l)

print(ans)

今回のコンテストで、使用される言語、バージョンの変更がありました。

その結果、これまで「python2(2.7.6)」「python3(3.4.3)」とあったものが、python2がなくなり、python(3.8.2)のみになりました。

python3のバージョンが新しくなったことで、mathモジュールの「gcd()」を使用することができます。

すべてのパターンを試してみても間に合うので、a,b,c それぞれの 1〜kまでのgcd()をすべて足し合わせて、出力します。

【ABC162】解説記事リスト

「AtCoder」解説一覧に戻る

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です