AtCoder ABC 200 B – 200th Python解説

スポンサーリンク

200th ABC-200

整数 N が与えられます。
以下の操作を K 回行った後の整数 N を出力してください。
整数 N が 200 の倍数であれば、N を 200 で割る。
そうでなければ、整数 N を、N の後ろに文字列として 200 を付け加えた整数に置き換える。
例えば、7 を置き換えると 7200 に、1234 を置き換えると 1234200 になります。

AtCoder Beginner Contest 「200th ABC-200」

問題文通りに実装していきましょう。整数Nが200で割り切れれば200で割り、Nが200で割り切れなければNの後ろに文字列の200を付け加えます。

n, k = map(int, input().split())

for _ in range(k):
    if n % 200 == 0:
        n //= 200
    else:
        n = str(n) + "200"
        n = int(n)
        
print(n)

Nが200で割り切れなければNの後ろに文字列の200を付け加えます。この時、Nを文字列に変換しなくてもN * 1000 + 200とすることで数値として200を付け加えた形にできます。

n, k = map(int, input().split())

for _ in range(k):
    if n % 200 == 0:
        n //= 200
    else:
        n = n * 1000 + 200
        
print(n)