问题 5478 --平安数

5478: 平安数

题目描述

若一个正整数不含 $13$ 作为子串,则称它为平安数,例如 $123$ 是平安数,但 $2132$ 不是平安数。给定一个正整数 $n$,请计算在 $1$ 到 $n$ 之间有多少平安数。

输入

单个正整数:表示 $n$。

输出

单个自然数:表示 $1$ 到 $n$ 之间有多少整数的十进制表示不含 $13$ 子串。

样例输入输出

输入#1 复制
20
输出#1 复制
19
输入#2 复制
200
输出#2 复制
188

提示

+ 对于 $30\%$ 的数据:$1\leq n\leq 10^6$; + 对于 $60\%$ 的数据:$1\leq n\leq 10^9$; + 对于 $100\%$ 的数据:$1\leq n\leq 10^{18}$。 样例2说明:13、113以及130到139都不是平安数
序号 标题 作者 发表时间 费用 订购数 操作