CF1157A.Reachable Numbers

传统题 时间 2000 ms 内存 256 MiB 5 尝试 1 已通过 1 标签

Reachable Numbers

题目描述

有一个函数f(x)f(x),效果是将x+1x+1后,去掉末尾所有的00,例如:

f(599)=6f(599)=6,因为599+1=600606599+1=600→60→6

f(7)=8f(7)=8,因为7+1=87+1=8

f(9)=1f(9)=1,因为9+1=1019+1=10→1

f(10099)=101f(10099)=101,因为10099+1=10100101010110099+1=10100→1010→101

我们可以多次进行函数f(x)f(x)的运算,从而让一个数xx转换为另一个数,例如1009810098可以转换为102102,因为f(f(f(10098)))=f(f(10099))=f(101)=102f(f(f(10098)))=f(f(10099))=f(101)=102

你需要做的是给你一个数nn,求出nn经过多次函数f(x)f(x)的计算,能转换为几个不同的数(包括自身)?

输入格式

一个整数n (n109)n \space (n \le 10^9)

输出格式

一个整数,代表nn能够转换为的不同数字的个数。

样例

1098
20
10
19

在线编程 IDE

建议全屏模式获得最佳体验