クルトンのプログラミング教室

Pythonの使い方やPythonを使った競技プログラミングの解法などを解説しています。

Pythonで解くAtCoder(ABC176:B)

こんにちは、クルトンです!
この記事では

AtCoderの「AtCoder Beginner Contest 176」のB問題をPythonを使って解説します。

問題のリンクを載せておきます。

atcoder.jp

今回必要な知識

  • for文
  • if,else文

for文、if,else文の使い方は下の記事で解説しています。

kuruton.hatenablog.com

kuruton.hatenablog.com

解法

今回は問題文の誘導通り、各桁の数の和が9の倍数かどうかによって9の倍数か判定しましょう

まずNを文字列として受け取ります。

N = input()

ここで変数SUMをおいて、for文を使ってSUMに各桁の数を足していきます。

このとき、int関数を使って数字にしなければならないので注意しましょう。

SUM = 0
for i in N:
    SUM += int(i)


これで各桁の数の和が求まったので、if,else文によって9の倍数か調べれば終わりです。

if SUM % 9 == 0:
    print('Yes')
else:
    print('No')


以下にサンプルコードを載せておきます

atcoder.jp


超簡単な別解

PythonC++と違って、int型に上限が存在しないのでそのまま入力を受け取れます。


以下にサンプルコードを載せておきます

atcoder.jp


まとめ

今回は

  • for文やif文を使う

という問題でした。

別解はかなり力技感がありますが、これもPythonの強みですよね!

Pythonにint型に上限が存在しないというのは覚えておいて損はないでしょう。

ではまたお会いしましょう!さようなら~