AtCoder ABC 111 B – AtCoder Beginner Contest 111 Python解説

スポンサーリンク

AtCoder Beginner Contest 111

黒橋君は,AtCoder Beginner Contest (ABC) にまだ参加したことがありません.

次に行われる ABC は第 N 回です. 黒橋君は,初めて参加する ABC を第 x 回としたときに,x の十進法表記でのすべての桁の数字が同じであるようにしたいです.

黒橋君が初めて参加する ABC としてふさわしいもののうち,最も早いものは第何回でしょうか?

AtCoder Beginner Contest 「AtCoder Beginner Contest 111」

すべての桁の数字が同じ、また、Nの範囲が100≤N≤999であることから、111,222,333…999までのゾロ目の中で、Nの次に来るゾロ目を答えてあげれば大丈夫です。

n = int(input())

for i in range(111, 1000, 111):
    if n <= i:
        print(i)
        break

for文を使ってN以上のゾロ目になったらbreakしています。

n = int(input())
i = int(n / 111)
if n % 111 != 0:
    i += 1
print(i * 111)

こちらも似たような考え方で、Nを111で割り、余りが0でなかったら次のゾロ目を出力しています。
余りが0だった場合はNがゾロ目なのでそのまま出力しています。

AtCoderB問題

Posted by cheese