【AtCoder】ABC200解説(Python)

ABC200 B – 200th ABC-200

問題

問題文の要約は以下の通りです。

問題の要約

整数 \(N\) を与えたとき、以下の操作を \(K\) 回行った後の整数 \(N\) を出力せよ。

  • 整数 \(N\) が200の倍数であれば、 \(N\) を200で割る。
  • 整数 \(N\) が200の倍数でなければ、 \(N\) の後ろに文字列として200を付け加えた整数に置き換える。

入力

\(N\) \(K\)

出力

答えを整数として出力せよ。

解法

指示通りに操作を行う。

解説

操作を行う関数を用意します。

  • 整数 \(N\) が200の倍数であれば、 \(N\) を200で割る。
  • 整数 \(N\) が200の倍数でなければ、 \(N\) の後ろに文字列として200を付け加えた整数に置き換える。

\(N\) はint型なので200を付け加えるときは、strに変換し、200を付け加えた後にint型に変換します。

# 操作を行う関数
def operation(N):
  #200の倍数のとき、200で割る
  if N%200==0:
    return N//200
  #200の倍数でないとき、200を付け加える
  else:
    return int(str(N)+'200')

\(N\) と \(K\) をint型で受け取ります。

# 入力
N,K=map(int,input().split())

操作を \(K\) 回繰り返します。

# 操作をK回繰り返す
for _ in range(K):
  N=operation(N)

最後に答えを出力します。

# 出力
print(N)

解答

# 操作を行う関数
def operation(N):
  #200の倍数のとき、200で割る
  if N%200==0:
    return N//200
  #200の倍数でないとき、200を付け加える
  else:
    return int(str(N)+'200')

# 入力
N,K=map(int,input().split())

# 操作をK回繰り返す
for _ in range(K):
  N=operation(N)

# 出力
print(N)
1 2
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!