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()をすべて足し合わせて、出力します。