AtCoder ABC 176 B – Multiple of 9 Python解説

スポンサーリンク

Multiple of 9

整数 N が 9 の倍数であることと、N を十進法で表したときの各桁の数の和が 9 の倍数であることは同値です。
N が 9 の倍数であるか判定してください。

AtCoder Beginner Contest 「Multiple of 9」

今回の問題では与えられる入力が最大10^200000と非常に大きな数値になります。が、Pythonではintに制限がないため、問題の趣旨からは外れますがNをそのまま9で割っても正解を出せます。

n = int(input())

if n % 9 == 0:
    print("Yes")
else:
    print("No")

各桁の和から9の倍数か判定してみる

n = input()

result = 0

for i in n:
    i = int(i)
    result += i
    
if result % 9 == 0:
    print("Yes")
else:
    print("No")

こちらの解き方が本来の問題の趣旨だと思います。文字列で入力を受け取り、ひとつずつint型に変換してresultに足していく。最後にresultを9で割り9の倍数かどうかを判定しています。