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. C++贪心算法求解找零钱问题(很形象)

    贪心算法求解找零钱问题 1.什么是贪心算法? 贪心算法是一种策略,总是做出在当前看来是最好的选择,总结出来几个字:寻找最优解 举个例子来说就是:"有一个只能往前走的果园,里边有各种水果让你免 ...

  2. 贪心算法1——找零钱问题

    贪心算法是一种不追求最优解,只希望找到较为满意解的方法.贪心算法省去了为找最优解要穷尽所有可能而必须耗费的大量时间,因此它一般可以快速得到比较满意的解. 贪心算法常以当前情况做最优选择,而不考虑各种可 ...

  3. c语言贪心算法零钱问题,贪心算法(2)——找零钱问题

    一.找零钱问题 例题1: 有 1 元,5元,10元,20元,100元,200元的钞票无穷多张.现在使用这些钞票支付X元,最少需要多少张钞票. X = 628 最佳支付方法: 3张200块的,1张20块 ...

  4. python换零钱_黄哥Python, 贪心算法解决换零钱问题

    下面的文字来源于维基百科 贪心算法(英语:greedy algorithm) 又称贪婪算法,是一种在每一步选择中都采取在当前状态下最好或最优(即最有利)的选择,从而希望导致结果是最好或最优的算法.比如 ...

  5. 【算法分析与设计】实验 动态规划算法解决找零钱问题

    问题描述 设有 n n n种不同面值的硬币,各硬币的面值存于数组 T [ 1 : n ] T[1:n] T[1

  6. 背包问题 贪心算法 java_JS基于贪心算法解决背包问题

    前面我们分享了关于js使用贪心算法解决找零问题,本文我们接着为大家介绍JS基于贪心算法解决背包问题. 贪心算法:在对问题求解时,总是做出在当前看来是最好的选择.也就是说,不从整体最优上加以考虑,他所做 ...

  7. 动态规划解决找零钱问题

    动态规划算法 通常用于求解具有某种最优性质的问题.动态规划算法与分治法类似,其基本思想都是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解.与分治法不同的是,适合于用动 ...

  8. c语言装箱问题思路,C语言基于贪心算法解决装箱问题的方法

    本文实例讲述了C语言基于贪心算法解决装箱问题的方法.分享给大家供大家参考,具体如下: 问题描述: 有一些箱子,容量为V,同时有n个物品,每个物品有一个体积(小于等于箱子容量),要求将物品全部装入箱子中 ...

  9. 部分背包的贪婪算法 java_使用JAVA实现算法——贪心算法解决背包问题

    packageBasePart;importjava.io.BufferedReader;importjava.io.FileInputStream;importjava.io.IOException ...

最新文章

  1. tensorflow 安装_tensorflow安装
  2. mysql command line client和mysql.exe输入密码后闪退问题解决方法
  3. eve 服务器在哪个文件夹,eve服务器地址
  4. jvm配置参数,查看大对象直接分配到老年代
  5. boost 获取日期时间
  6. 双重认证 也不安全:Gmail、Yahoo mail 已被攻破!
  7. Python单机版经典塔防游戏源代码
  8. 用c语言把蜂鸣器封装成函数,C语言蜂鸣器问题
  9. 微信HOOK之二叉树获取信息 201-12-25
  10. 下载安装谷歌浏览器插件
  11. 前端 HTML5+CSS3基础知识一
  12. wifi频谱仪测试软件,无线局域网频谱分析仪 (Spectrum XT)
  13. ODOO 开源 ERP 和 CRM
  14. 金彩教育:店铺运营怎么看数据
  15. 神经胶质瘤是怎么引起的,胶质瘤和神经胶质瘤
  16. PWM开发SG90舵机
  17. 计算机安全论文摘要,计算机安全防护论文摘要怎么写 计算机安全防护论文摘要范文参考...
  18. ^(?:([^,]*),?){1} 的含义
  19. 辰视智能董事长冯良炳博士接受起点机器人网专访!
  20. 富文本编辑器图片上传功能提示falsh版本低请你升级的解决方法

热门文章

  1. mysql连接oracle视图_oracle数据库视图
  2. 【图像处理】相机、透镜、人眼、小孔成像原理
  3. TortoiseSVN (Subversion客户端) 使用手册(中文) (五)
  4. 一文带你看懂算术编码(C语言)
  5. mo管理器java_Android开发之通过包管理器获取安装应用信息
  6. oracle在服务器unix怎么登录,为UNIX服务器设置Oracle全文检索
  7. SQL server 表之间的关系生成图
  8. 163企业邮箱注册申请,外贸企业邮箱首选什么邮箱呢?
  9. 在线音乐迎来产消多维时代,菠萝BOLO要做“原创音乐视频工厂”?
  10. 怎么用java调用mysql_java 调用mysql实例