【ABC156 B】「Digits」を解く【Python3】

abc156b

「AtCoder」解説一覧へ

整数N を K進数で表したとき、何桁になるかを求める問題です。

提出
n, k = map(int, input().split())
ans = 0

while n > 0:
    n = n // k
    ans += 1

print(ans)

整数N が0になるまでの間に K で割ることのできる回数が答えとなります。

小数点以下は切り捨てで割ります。

例えば、1042を10進数で表したとき、10で4回割ることができるため、4桁となります。2進数や4進数など、ほかのものも同様です。

split()メソッド

split()メソッドは、区切り文字を指定して、文字列を分割します。

区切り文字を指定しない場合、空白、タブ、改行で分割されます。

str.split("区切り文字")

map()関数

map()関数は、イテラブル(リストやタプルなど)の各要素に関数の処理を適用します。

map(関数、イテラブル)

余談ですが、コンテスト中、「整数N を K進数で表せ」という問題と勘違いしてしまい、余計な時間を食ってしまいました。

【ABC156】解説記事リスト

「AtCoder」解説一覧に戻る

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です