题库练习 Reachable Numbers
← 上一题 下一题 →

A14521 | Reachable Numbers

时间限制1s
内存限制256MB
通过 / 提交0/0

题目描述

Let's denote a function $f(x)$ in such a way: we add $1$ to $x$ , then, while there is at least one trailing zero in the resulting number, we remove that zero. For example,

- $f(599) = 6$ : $599 + 1 = 600 \rightarrow 60 \rightarrow 6$ ;
- $f(7) = 8$ : $7 + 1 = 8$ ;
- $f(9) = 1$ : $9 + 1 = 10 \rightarrow 1$ ;
- $f(10099) = 101$ : $10099 + 1 = 10100 \rightarrow 1010 \rightarrow 101$ .

We say that some number $y$ is reachable from $x$ if we can apply function $f$ to $x$ some (possibly zero) times so that we get $y$ as a result. For example, $102$ is reachable from $10098$ because $f(f(f(10098))) = f(f(10099)) = f(101) = 102$ ; and any number is reachable from itself.

You are given a number $n$ ; your task is to count how many different numbers are reachable from $n$ .

输入格式

The first line contains one integer $n$ ( $1 \le n \le 10^9$ ).

输出格式

Print one integer: the number of different numbers that are reachable from $n$ .

输入输出样例

输入 #1
1098
输出 #1
20
输入 #2
10
输出 #2
19
C++ 编辑器
输入
输出