4097: 阶乘硬币支付
内存限制:1024 MB
时间限制:2.000 S
评测方式:文本比较
命题人:
提交:0
解决:0
题目描述
## 题目描述
在AtCoder国中,使用的硬币面值为1!元、2!元、...、10!元。这里,N! = 1 × 2 × ... × N。小高拥有每种面值的硬币各100枚,他要购买一件价值P元的商品,并且要**支付准确金额而不需要找零**。我们可以证明总是存在这样一种支付方式。小高至少需要使用多少枚硬币来完成支付?
输入
## 输入格式
输入整数P
输出
## 输出格式
输出所需的最少硬币数量。
样例输入 复制
6
样例输出 复制
3
提示
## 输入输出样例
### 输入样例1
```
9
```
### 输出样例1
```
3
```
### 输入样例2
```
119
```
### 输出样例2
```
10
```
### 输入样例3
```
10000000
```
### 输出样例3
```
24
```
## 数据范围与提示
【样例说明1】
通过给出一枚(1! =) 1元硬币、一枚(2! =) 2元硬币和一枚(3! =) 6元硬币,我们可以准确支付价值9元的商品。没有使用更少硬币数量的支付方式。
【样例说明2】
我们应该使用一枚1!元硬币、两枚2!元硬币、三枚3!元硬币和四枚4!元硬币。
【数据范围】$1 ≤ P ≤ 10^7$, P是整数。
## 题目来源
ABC208B