C# 收银找零钱算法

nauhil 2016-03-29 01:30:52



如图中2个例子,根据左侧结账金额,给出潜在可能的找零金额

求解
...全文
672 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Delta 2016-04-01
  • 打赏
  • 举报
回复
这是个简单的算法,对于初学者可以多练习编程思维
好几只小萝莉 2016-03-29
  • 打赏
  • 举报
回复
如果应付33元6毛, 我认为最有可能出现的恐怕是 收53元6毛找20元... 收54元找20元4毛... 收104元找70元4毛... 这个不考虑进去,意义并不大。然而考虑进去的话右边就密密麻麻的了。 所以还是你给多少,我input多少,计算找多少。
夏天的枫 2016-03-29
  • 打赏
  • 举报
回复
你这个玩意儿让我想起了为啥没有三块人民币的问题, 可以根据当前人民币的面值进行一个算法的研究 就按照楼上的思路,应该可以总结出一套适用的算法。
yangyi_2009 2016-03-29
  • 打赏
  • 举报
回复
简单地考虑, 应收金额 33.60 不小于应收金额的最小整数 34.00 不小于应收金额的最小的整5数 35.00 不小于应收金额的最小的整十数 40.00 不小于应收金额的最小的整20数 40.00 不小于应收金额的最小的整50数 50.00 不小于应收金额的最小的整百数 100.00 去掉重复,取前 5 个,就是例子中的效果。 复杂地考虑, 常用货币面值只有 0.1 0.5 1 5 10 20 50 100 通过组合把大于应收金额的面值列出来,并且使任何一种面值组合都不包含另一种组合。 这情况就很多了。 应收金额 52.50 不小于应收金额的最小整数 53.00 不小于应收金额的最小的整5数 55.00 不小于应收金额的最小的整十数 60.00 不大于应收金额的最大的整50数 + 不小于应收金额的最小的整20数 70.00 …… 还是简单地考虑吧。
xuzuning 2016-03-29
  • 打赏
  • 举报
回复
不就是开列几个大于应付款的几种票面组合吗?
zbdzjx 2016-03-29
  • 打赏
  • 举报
回复
没办法的办法:增加一个辅助表,存放当左侧值的范围及右侧对应的要显示几个值。
  • 打赏
  • 举报
回复
有的人说程序员喜欢嘻嘻哈哈把论坛当作菜市场,“不要讲需求理解、不要讲沟通、不要讨论渔而要低级的给点鱼就行了”。实际上(中国大多数)程序员跟普通工人农民没有什么区别,相反地,无法沟通的几率更大。 只要看一下其“原样贴出”领导给的问题来的“懒惰劲儿”,就知道了。
  • 打赏
  • 举报
回复
“给出潜在可能的找零金额”,这个听起来好像挺厉害似地,其实呢?! 神马叫“潜在的”,这个需好事者才应该先去说明白。
nauhil 2016-03-29
  • 打赏
  • 举报
回复
看见问题上来就喷的,我懒得说了 难道你领导丢给你这个的时候,你也这么喷你领导么,呵呵 对于楼里给出中肯回答的,都给分了,谢谢大家

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧