AT_jag2018summer_day2_b Coins
题目描述
有 $1$ 元、$5$ 元、$10$ 元、$50$ 元、$100$ 元、$500$ 元硬币,每种硬币都有无限多枚。
对于给定的正整数 $x$,定义 $f(x)$ 为恰好支付 $x$ 日元所需的最少硬币数。例如,$f(2018) = 9$,因为 $2018 = 1 + 1 + 1 + 5 + 10 + 500 + 500 + 500 + 500$。
给定一个正整数 $N$。请计算有多少个正整数 $x$ 满足 $f(x) = N$。
输入格式
输入按以下格式从标准输入给出:
> $N$
输出格式
输出满足 $f(x) = N$ 的正整数 $x$ 的个数。
说明/提示
### 数据范围
- $1 \leq N \leq 10^{18}$
### 样例解释 1
$x$ 的取值为 $1, 5, 10, 50, 100, 500$。
### 样例解释 2
$x$ 的取值为 $2, 6, 11, 15, 20, 51, 55, 60, 101, 105, 110, 150, 200, 501, 505, 510, 550, 600, 1000$。
由 ChatGPT 4.1 翻译