输入一个人民币的整数值(100以内以元为单位),编程找到用10元、5元、2元、1元表示的总数量的最小组合方式。Java
时间: 2024-06-10 10:08:17 浏览: 12
可以使用贪心算法解决该问题。具体操作如下:
1. 输入一个整数值n,代表人民币的金额
2. 分别计算n中有多少个10元、5元、2元和1元,一直找到n为0为止
3. 输出每种面额所需的数量即可
Java代码如下:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] coin = {10, 5, 2, 1}; // 面额
int[] count = new int[4]; // 记录每种面额所需的数量
for (int i = 0; i < 4; i++) {
count[i] = n / coin[i];
n = n % coin[i];
}
System.out.println("需要的纸币数量为:");
for (int i = 0; i < 4; i++) {
System.out.println(coin[i] + "元:" + count[i] + "张");
}
}
}
```
例如输入50,则程序会输出:
```
需要的纸币数量为:
10元:5张
5元:0张
2元:0张
1元:0张
```