#CYF0041. 有趣的数字

有趣的数字

题目背景

C 定义了一个函数 S(x)S(x) ,该函数的作用是获取十进制数字 xx 的位数之和,比如 $S(5) = 5, S(10) = 1 + 0 = 1, S(123) = 1 + 2 + 3 = 6$ 。

题目描述

C 认为如果一个整数 xx 处于 S(x+1)<S(x)S(x + 1) < S(x) ,那么这个数字就是有趣的,接下来输入一个数字 nn ,请同学们判断 1xn1 \leq x \leq n 这个范围中有趣的 xx 有多少个。

输入格式

输入一行。

一行输入一个正整数 nn

输出格式

输出一行。

一行输出有多少个有趣的数字。

样例 #1

样例输入 #1

1

样例输出 #1

0

样例 #2

样例输入 #2

9

样例输出 #2

1

样例 #3

样例输入 #3

880055535

样例输出 #3

88005553

提示

样例解释】:

  • 对于第一个样例,S(2)=2,S(1)=1,S(2)>S(1)S(2) = 2, S(1) = 1, S(2) > S(1) 所以没有有趣的数字。

  • 对于第二个样例,S(10)=1,S(9)=9,S(10)<S(9)S(10) = 1, S(9) = 9, S(10) < S(9) ,所以有 11 个有趣的数字。

数据范围】:

测试点编号 nn \geq nn \leq
01 ~ 10 11 10510^5
11 ~ 15 10910^9
16 ~ 20 101810^{18}

对于 100%100\% 的数据,保证 1x10181 \leq x \leq 10^{18}​​ 。