問題概要
問題ページ
-
C - Doubled
問題ページへ移動する
問題文
整数 \(N\) が与えられます。
以下の条件を満たす \(1\) 以上 \(N\) 以下の整数 \(x\) は何個あるでしょうか?
- \(x\) の十進表記 (先頭に \(0\) を付けない) は偶数桁であり、その前半と後半は文字列として等しい。
制約
- \(N\) は整数
- \(1 ≤ N < 10^{12}\)
問題の考察
ACコード
import sys
def solve():
input = sys.stdin.readline
mod = 10 ** 9 + 7
n = int(input().rstrip('\n'))
cnt = 0
for i in range(1, 10 ** 20):
ans = int(str(i) + str(i))
if int(ans) > n:
print(cnt)
exit()
else:
cnt += 1
if __name__ == '__main__':
solve()