找零问题贪心算法实现_第1页
找零问题贪心算法实现_第2页
找零问题贪心算法实现_第3页
找零问题贪心算法实现_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

寻找零问题的贪婪算法实现一、实验记述现在币种分别有2角5分、1角、5分、1分的硬币。 请提出找n钱的最佳方案。二、实验原理具体示例:如果老板给我99美分的话,上面的金额分别是25,10,5,1,为了给我最少的硬币数,他是否应该这样找,首先应该找到25美分,99/25=3,3个,4个的话,我们给老板另一个分我不做。 上司只给我三个25美分的抽屉。 还不给我二十四美分,还得给两个十美分和四个一分。具体实施:/零钱搜索算法/By falcon/输入:数组m,按从大到小的顺序排列的面额数,n是要找的钱数,单位都是点数/输出:根据排列num、排列m的币种存储不同币种的硬币枚数,寻找钱的方案参考实验代码部分。三、实验代码#ifndef LEASTCOINS_H定义列表coins _ hclass LeastCoinspublic:LeastCoins ();LeastCoins ();void run ();私人:int number; /币种不同的硬币个数int TotalMoney; /要回收的总额int *T; /保存硬币面额int *Coins; /硬币的个数int *m; /mij是在最大面I回收金额为j的必要硬币数的最小个数bool input ();int changeMoney(int i,int j) /i是第I中硬币void output ();void跟踪包(); /寻找轨迹#endif#include#include#include#include#define N 10ifstream输入文件( input.txt ,ios:30out );ofstream output文件( output.txt ,ios:30out );leastcoins:30leastcoins ()装模作样number=0;TotalMoney=0;T=new int N;Coins=new int N;m=new int *N;for (int i=0; inumber;outputFile 是 Ti;inputFileCoinsi;outputFileTotalMoney;outputFile 回收的总额为:=totalmoney)returntrue;elseoutputFile 所有硬币的总额为1 if (j(T2 X-1)mij=T2 X-1;else mij=T1 X;return mij;以下称为以下称为else if(i=1)/此时i=1 if (j % t 1 )=0(j/t 1=coins 1 ) m 1 j =j/t 1; return m1j; 以下称为else return 1000000;以下称为else return 1000000;以下称为void LeastCoins:output () if (m number total money 10000

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论