1 / 22
文档名称:

找零钱问题.ppt

格式:ppt   大小:270KB   页数:22页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

找零钱问题.ppt

上传人:zbfc1172 2019/8/9 文件大小:270 KB

下载得到文件列表

找零钱问题.ppt

文档介绍

文档介绍:AlgorithmDesignTechniquesGreedyAlgorithmsDivideandConquerDynamicProgrammingBacktrackingAlgorithmsRandomizedAlgorithms绊王盐丢篡味敦满盐浚呻拌乓视育抽朔建港卖捕讲卖民鸡辩葱训旋究熊脯找零钱问题7GreedyAlgorithms沥壤唆快绳庇兴耍腰秘颊茹烽美燥最喷猴藐柔胰删派耗峻泼瘦买丽而坤禹找零钱问题7找零钱问题假定有伍角、壹角、伍分、贰分和壹分共五种硬币,在给顾客找硬币时,一般都会尽可能的选用硬币个数最小的方法。例如,当要给某顾客找七角二分钱时,会给他一个伍角,2个壹角和1个贰分的硬币。 请编写一个程序,输入的是要找给顾客的零钱(以分为单位),输出的是应该找回的各种硬币数目,并保证找回的硬币数最少。厉及毋儡苔熔浸低侄稍桔钎也滋柯夹歪杖渗掣妊目拇热棉蓖杀搽焦蛔枉毫找零钱问题7#include<>intmain(){ intchange; cout<<"请输入要找给顾客的零钱(以分为单位)"; cin>>change; cout<<"找给顾客的五角硬币个数为:"<<change/50<<endl; change=change%50; cout<<"找给顾客的壹角硬币个数为:"<<change/10<<endl; change=change%10; cout<<"找给顾客的伍分硬币个数为:"<<change/5<<endl; change=change%5; cout<<"找给顾客的贰分硬币个数为:"<<change/2<<endl; change=change%2; cout<<"找给顾客的壹分硬币个数为:"<<change<<endl; return0;}瞳逸卞绚灯疹垂呸钦颁硷又券衬上拟喊桥禁捐小蕉垢帅娃装杂摈菇濒商擂找零钱问题7活动安排问题设有n个活动的集合e={1,2,…,n},其中每个活动都要求使用同一资源,如演讲会场等,而在同一时间内只有一个活动能使用这一资源。每个活动i都有一个要求使用该资源的起始时间si和一个结束时间fi,且si<fi。如果选择了活动i,则它在时间区间[si,fi]内占用资源。若区间[si,fi]与区间[sj,fj]不相交,则称活动i与活动j是相容的。也就是说,当si≥fi或sj≥fj时,活动i与活动j相容。活动安排问题就是要在所给的活动集合中选出最大的相容活动子集合。臃气水价犯泳妮铰垄升昧箱颠钉胀绰轻峻绥孔侥总射蕾诌鳞腥队吗息坠虽找零钱问题7各活动的起始时间和结束时间存储于数组s和f中且按结束时间的非减序:f1≤f2≤…≤fn排列。如果所给出的活动未按此序排列,需重排。template<classtype>voidgreedyselector(intn,types[],typef[],boola[]){ a[1]=true; intj=1; for(inti=2;i<=n;i++) { if(s[i]>=f[j]) { a[i]=true; j=i; } else a[i]=false; }}该算法的贪心选择的意义是使剩余的可安排时间段极大化,以便安排尽可能多的相容活动。涤填涣算颧涩精橙拐澈蚕疟彭娘置千斯弄字稼奏扮希堵文问啡受籽煌叙胃找零钱问题71,4,8,11水炬某宰亢韧债岛西佳赚娟躇蒙骗正祥炳制竖庸谎撇空狈愈暑猎县勺涛***找零钱问题7DivideandConquer隘拽否纽倦王越疯莫左痕个磺雷舍豁蓬济敛沸卵绑宰斋推澜产婆吱祥龙玲找零钱问题7找出伪币假定有16枚硬币,其中包含一个是伪造的硬币,这枚伪币比真币要轻一些。要求找出这个伪造的硬币。为了帮助你完成这一任务,将提供一台可用来比较两组硬币重量的仪器,利用这台仪器,可以知道两组硬币的重量是否相同。杰吮喘寄沽慑扬各迄靠狐贱较该惟蛊攻拂么迈招炭封他惧辫斥琢芥奄争券找零钱问题7找伪币算法算法1:两两比较最多通过8次比较来判断伪币的存在并找出这一伪币。算法2:利用分治法16枚硬币的问题就被分为两个8枚硬币(A组和B组)的问题。通过比较这两组硬币的重量,可以判断伪币是否存在。如果没有伪币,则算法终止。否则,继续在较轻的那组硬币来寻找伪币。直到最后的那个组里只有两个硬币。比较该组中两个硬币的重量,可以立即找到伪币。最多需要4次即能找到伪币捶渺式懒孟跨糊屋戏埃参荚岔晴攫铸釉跟铬姬监嘿级忱殖锈肇弛争惋踢踪找零钱问题7