贪心算法解决找零钱问题
来源:互联网 发布:苏小红c语言第三版pdf 编辑:程序博客网 时间:2024/05/29 06:55
4.1 找零问题
问题描述:
设有50、20、10、5、1、0.5、0.1等面额的零钱,顾 客购物花了n元,在支付(n / 100 + 1) * 100元后,收银员应如何找 零,才能使找回的钱数最少。
输入: n,表示顾客所花的钱数,最多包含一位小数。
输出: 找回的零钱数。
样例输入: 67.5 243
样例输出: 5 4
//ACM贪心算法应用——找零问题#include <iostream>using namespace std;double MONEY_UNIT[7] = {50, 20, 10, 5, 1, 0.5, 0.1}; //钱的所有面额int main(){ double consumeMoney = 0; //消费的金额 cin >> consumeMoney; double realGiveMoney = 0; //实际给的钱 realGiveMoney = (int)(consumeMoney / 100 + 1) * 100;//通过int的自动舍去小数位来计算实际给的钱数 double shouldRevMoney = 0; //应该找回的零钱 shouldRevMoney = realGiveMoney - consumeMoney; //贪心算法实现——局部最优解 int revMoneyAmount = 0; for (int i = 0; i < 7; i ++) { if (MONEY_UNIT[i] <= shouldRevMoney) { shouldRevMoney -= MONEY_UNIT[i]; i--; //继续测试此面额的money是否满足 revMoneyAmount++; //找回零钱张数加1 } if (!shouldRevMoney) { break; } } cout << "找回的零钱最少张数为 :"; cout << revMoneyAmount << endl; system("pause"); return 0;}
阅读全文
1 0
- 贪心算法解决找零钱问题
- 贪心算法解决找零钱问题
- 贪心算法——找零钱问题
- 简单贪心算法问题--找零钱
- 贪心算法找零钱
- 数据结构--贪心算法解决找零钱问题 这里用的是人民币()
- 找零钱(贪心算法)
- 找零钱的贪心算法
- 贪心算法之找零钱
- 找零钱问题—贪心
- 找零钱问题的贪心算法(java描述)
- 动态规划算法思想解决找零钱问题
- C++实现贪心算法-找零钱
- 贪心算法——找零钱
- XYNUOJ 1259 找零钱—贪心算法
- 找零钱问题(C语言实现)——贪心算法应用(1)
- 找零钱问题(C语言实现)——贪心算法应用(1)
- 动态规划解决找零钱问题
- ajax提交form表单
- kubernetes部署(高可用版)
- 【设计模式】-几种关系在代码中的体现
- javascript 继承
- [Session共享]Tomcat集群实现Session共享
- 贪心算法解决找零钱问题
- kubernetes的ceph RBD volume(5): 创建动态的volume绑定随replica scale的扩容和缩容的pod
- Linux系统的内核态和用户态
- Java(1):方法重载(1)
- 原生JS获取和设置指定属性
- OpenStack Tacker介绍
- hdu2104 辗转相除法
- 看完让你彻底搞懂Websocket原理
- 辗转相除法求两个非负数的最大公约数问题