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 翻译