解题思路:
注意事项:
参考代码:
import java.util.Scanner;
public class BookBuying {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt(); // 读取输入的钱数
int[] dp = new int[n + 1]; // 初始化动态规划数组
dp[0] = 1; // 初始化dp[0]为1,表示钱数为0时有1种方案(不买书)
// 遍历每种面额的书的价格,更新方案种数
for (int ten = 0; ten * 10 <= n; ten++) {
for (int twenty = 0; ten * 10 + twenty * 20 <= n; twenty++) {
for (int fifty = 0; ten * 10 + twenty * 20 + fifty * 50 <= n; fifty++) {
for (int hundred = 0; ten * 10 + twenty * 20 + fifty * 50 + hundred * 100 <= n; hundred++) {
int sum = ten * 10 + twenty * 20 + fifty * 50 + hundred * 100;
dp[sum]++; // 更新对应的方案种数
}
}
}
}
// 输出方案种数
System.out.println(dp[n]);
scanner.close();
}
}
0.0分
1 人评分
求圆的面积 (C++代码)这里推荐使用宏定义浏览:1903 |
C二级辅导-进制转换 (C语言代码)浏览:811 |
C二级辅导-计负均正 (C语言代码)浏览:587 |
C语言程序设计教程(第三版)课后习题12.5 (C语言代码)浏览:821 |
2005年春浙江省计算机等级考试二级C 编程题(3),复杂度最低的方法没有之一!!!!!浏览:805 |
蓝桥杯历届试题-九宫重排 (C++代码)浏览:2783 |
Pascal三角 (C语言代码)浏览:1182 |
数组输出 (C语言代码)--此题的题目描述有问题浏览:1814 |
C语言程序设计教程(第三版)课后习题9.8 (C语言代码)浏览:598 |
蚂蚁感冒 (C语言代码)浏览:1319 |