社区
C++ 语言
帖子详情
一个找零程序算法问题
wuyan16001
2008-10-24 12:22:01
一个找零程序,输出应找补金额,找零面值50,20,10,5,2,1.要求找零的张数最少,不考虑缺面值的情况。比如:应找补30元,输出找零:应找补30元,20元一张,10元一张(不是10元3张或者其他)。
问题:怎么设计算法,让程序最有效。而不是一味的用IF的语句。
...全文
400
10
打赏
收藏
一个找零程序算法问题
一个找零程序,输出应找补金额,找零面值50,20,10,5,2,1.要求找零的张数最少,不考虑缺面值的情况。比如:应找补30元,输出找零:应找补30元,20元一张,10元一张(不是10元3张或者其他)。 问题:怎么设计算法,让程序最有效。而不是一味的用IF的语句。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lengyancenji
2011-05-14
打赏
举报
回复
定义一个int a[i] 第i种面值有几张,a[i]=p/mianzhi[i];float 型 p为要找回的零钱,float mianzhi[i]={50,20,10,5,1,0.5,0.2,0.1} 这样就OK了,
p=p-mianzhi[i]*a[i]+0.01;这0.01是因为VC++6.0和TC等等里面的0.1是0.0999948造成的,
morningnet
2010-11-28
打赏
举报
回复
Lingqian(int zhaoling)
{
int a[];
a[0]=50;
a[1]=20;
a[2]=10;
a[3]=5;
a[4]=2;
a[5]=1;
int i=0;
for(i=0;i<=5;i++)
{
while(zhaoling-a[i]>=0)
{
zhaoling=zhaoling-a[i]
printf a[i];
}
}
}
morningnet
2010-11-28
打赏
举报
回复
把面值存入数组,从大到小排序,然后递归或循环计算
zhouhupingluo
2008-10-25
打赏
举报
回复
这个是动态规划或贪心法教科书级题目,随便一本算法书上都有的。
liumingrong
2008-10-24
打赏
举报
回复
贪心算法很有效
尽可能用大面值的倍数去减
镜机
2008-10-24
打赏
举报
回复
[Quote=引用 5 楼 wuyan16001 的回复:]
引用 2 楼 luansxx 的回复:
给一张表
1 = 1
2 = 2
3 = 2 + 1
4 = 2 + 2
5 = 5
6 = 5 + 1
7 = 5 + 2
8 = 5 + 2 + 1
9 = 5 + 2 + 2
十位数同理
不可能有百位数吧
如果是这样,那要找99块,岂不是要建立从1到99个数的表呀。
那好像效率比较慢
[/Quote]
效率慢?好算法我觉得就是这样。
wuyan16001
2008-10-24
打赏
举报
回复
[Quote=引用 2 楼 luansxx 的回复:]
给一张表
1 = 1
2 = 2
3 = 2 + 1
4 = 2 + 2
5 = 5
6 = 5 + 1
7 = 5 + 2
8 = 5 + 2 + 1
9 = 5 + 2 + 2
十位数同理
不可能有百位数吧
[/Quote]
如果是这样,那要找99块,岂不是要建立从1到99个数的表呀。
那好像效率比较慢
Longinc
2008-10-24
打赏
举报
回复
面值很少,建一张表还是很方便的
langhua0001
2008-10-24
打赏
举报
回复
[Quote=引用 2 楼 luansxx 的回复:]
给一张表
1 = 1
2 = 2
3 = 2 + 1
4 = 2 + 2
5 = 5
6 = 5 + 1
7 = 5 + 2
8 = 5 + 2 + 1
9 = 5 + 2 + 2
十位数同理
不可能有百位数吧
[/Quote]
强烈支持
Fighting Horse
2008-10-24
打赏
举报
回复
给一张表
1 = 1
2 = 2
3 = 2 + 1
4 = 2 + 2
5 = 5
6 = 5 + 1
7 = 5 + 2
8 = 5 + 2 + 1
9 = 5 + 2 + 2
十位数同理
不可能有百位数吧
“人民币
找零
”
问题
的贪婪法解决
算法
本文介绍了
一个
使用贪婪
算法
解决人民币
找零
问题
的
程序
设计方法。通过分解不同面额的纸币来实现
找零
,确保每次都能给出最优的
找零
方案。
c语言贪心
算法
找零
钱,数据结构--贪心
算法
解决
找零
钱
问题
这里用的是人民币()...
本文介绍了
一个
使用贪心
算法
解决
找零
问题
的C#
程序
示例,针对人民币面额进行
找零
方案的设计与实现。
找零
问题
(贪心
算法
)-C语言
本文通过
一个
C语言
程序
展示了如何使用贪心
算法
解决
找零
问题
。
程序
中定义了不同面额的零钱种类,并计算出
找零
的最小硬币数量。
找零
总数为8478元,
程序
输出了每种面额硬币使用的数量,以及总共使用的硬币个数。
贪心
算法
之
找零
问题
本文介绍了
一个
使用贪心
算法
解决
找零
钱
问题
的C语言
程序
。通过定义
一个
数组存储货币面额,从最大面额开始,计算每种面额需要的张数,直至
找零
完成。展示了如何用最少的纸币数量实现
找零
。
算法
题-柠檬水
找零
【JS实现】
这是
一个
关于处理不同面额钞票
找零
的
算法
问题
。
程序
需要确保每位顾客支付5美元,通过接收5美元、10美元和20美元的纸币,正确
找零
。通过维护5美元和10美元的计数,可以跟踪
找零
状态。如果任何时候无法提供正确的
找零
,则返回false,否则返回true。
C++ 语言
65,211
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章