练习题 No.2 硬币问题(贪心法)
来源:互联网 发布:单片机 如何打印二维码 编辑:程序博客网 时间:2024/04/28 06:46
要求
现在有1元、5元、10元、50元、100元、500元的硬币,有
现在需要用这些硬币来支付A元,最少需要多少硬币?
输入格式
输入需要输入5种硬币的数量和需要支付的钱
输出格式
输出需要有用了多少硬币以及每种硬币各花了多少
测试输入
10000 100 50 20 10 55000
测试输出
Cost = 85: 1(0) 5(0) 10(50) 50(20) 100(10) 500(5)
解题思路
用贪心法来解决
代码
#include<iostream>using namespace std;int main() { int rmb[6] = {1, 5, 10, 50, 100, 500}; int rmbNumber[6]; int pay; for (int i = 0; i < 6; i++) { cin >> rmbNumber[i]; } cin >> pay; int cost = 0; for (int i = 5; i >= 0; i--) { int tempCost = min(pay / rmb[i], rmbNumber[i]); pay -= tempCost * rmb[i]; rmbNumber[i] = tempCost; cost += tempCost; } if (pay > 0) { cout << "pay = " << pay << " "; } cout << "Cost = " << cost << ": "; for (int i = 0; i < 6; i++) { cout << rmb[i] << "(" << rmbNumber[i] << ") "; } cout << endl; return 0;}
0 0
- 练习题 No.2 硬币问题(贪心法)
- 练习题 No.3 区间调度问题(贪心法)
- 练习题 No.4 字典序最小问题(贪心法)
- 硬币问题(贪心)
- 硬币问题 (贪心)
- 贪心法解决硬币问题
- 贪心算法(硬币问题)
- 最简单的贪心法:硬币问题
- 039_硬币问题(贪心)
- (一般)POJ-3040 贪心,硬币问题
- 贪心算法:硬币问题
- 翻硬币(贪心)
- 翻硬币(贪心)
- 翻硬币(贪心)
- 最少硬币问题--贪心算法
- 最少硬币问题-贪心选择
- 贪心算法之硬币问题
- nyoj 106 背包问题 (贪心 (硬币问题))
- 蓝桥杯ADV-88——算法提高 输出正反三角形
- 解释器模式
- 数论基础(gcd + 拓展欧几里得)
- 记录git提交本地项目
- perl 字符和字节 表示utf8
- 练习题 No.2 硬币问题(贪心法)
- Lua 5.3 动态加载C模块
- scanf()中的陷阱
- JavaWeb过滤器
- 九度oj 1015 还是A+B
- 【java】方法的重写与变量的隐藏
- c基础
- 86. Partition List
- get和post的区别及使用方式