Official
E - 10 の n 乗/<=10^n Editorial
by
E - 10 の n 乗/<=10^n Editorial
by
nok0
桁数が \(k\) の整数 \(X\) に対して、以下が成り立ちます。
\[10^{k-1} \leq X < 10^{k}\]
そのため、基本的には \(X\) の桁数が答えとなります。例外は、\(X\) がちょうど \(10\) の累乗で表される時です。
これは、\(X\) を文字列として見たときに、先頭の文字が \(1\) で残りの文字が全て \(0\) であることと同値です。
以上を実装することでこの問題を解くことができます。Python など、多倍長整数を用いる言語であれば、全てを整数で実装することもできます。
実装例(Python):
import sys
sys.set_int_max_str_digits(0)
x = int(input())
res = len(str(x))
if x == 10**(res-1):
res -= 1
print(res)
posted:
last update: