求助一个兑换零钱的问题,求大神

jzzlee 2015-03-05 01:59:16
一个字典{2: 2, 3: 2, 4: 3, 5: 1},key是零钱面额,value是零钱数量,求兑换n元的一种方案,要求该方案优先使用低面额的零钱。如{2:2,3:1,4:1},兑换4元,使用2两张而不用4一张。
多谢!
...全文
172 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
bear234 2015-03-05
  • 打赏
  • 举报
回复
greedy algorithm
靠谱的小号 2015-03-05
  • 打赏
  • 举报
回复
又想了下。我擦嘞,这不是一背包问题的特例嘛,我又sb了,怪不得总感觉似曾相识。 lz可以直接百度“背包问题”,忽略我上面的答案吧。
靠谱的小号 2015-03-05
  • 打赏
  • 举报
回复
这个应该是类似于约瑟夫环问题的,分为模拟、公式两种方法(穷举法这里忽略)。 公式法,本人智商不足,没想出来,提一个模拟法的思路: 1、钱包零钱排序,变为{2,2,3,3,4,4,4,5} 2、零钱包中零钱的次序一张一张的出。 3、当找出的零钱总额超出需要的数量时,遍历已经找出的零钱,若删除其中某项可使得结果刚好吻合,则找到该解 4、若删除任意一项均不行,则删除最大项。 例如:找零21元: 1) 2 =2 2) 2.2 =4 3) 2.2.3 =7 4) 2.2.3.3 =10 5) 2.2.3.3.4 =14 6) 2.2.3.3.4.4 =18 7) 2.2.3.3.4.4.4 =22 8) 2.2.3.3.4.4 =18(删除最大项4) 9) 2.2.3.3.4.4.5 =23 10) 2.3.3.4.4.5 =21
jiht594 2015-03-05
  • 打赏
  • 举报
回复
简单暴力的方法 就是求出全部组合数, 然后找吧
资源下载链接为: https://pan.quark.cn/s/9e7ef05254f8 【久久在线FLASH系统】是一款专为久久在线网站打造的交互式Flash平台,集成了前台展示与后台管理功能,满足内容发布、管理和用户互动的需。Flash技术曾广泛应用于网页动画和互动内容,尤其在早期互联网时代,在游戏、广告和多媒体教学等领域发挥了重要作用。该系统的核心包括以下几个关键方面: Flash技术:系统利用Flash创建动态图形、动画和交互内容,依赖Adobe Flash Player运行。其编程语言ActionScript支持面向对象开发,便于实现复杂逻辑和交互效果。 后台管理系统:作为系统的控制中心,后台支持内容上传、编辑、分类、权限设置、用户管理及数据分析,确保内容的有序更新与发布。 产品演示模块:用户可在线预览和体验产品功能,无需下载,通过交互式演示了解产品操作流程和优势。 数据库集成:系统与数据库紧密结合,用于存储Flash文件信息、用户数据及访问记录,实现高效的数据管理与检索。 安全性与优化:系统具备防止非法访问和数据泄露的安全机制,并对Flash内容进行优化,提升加载速度与用户体验。 响应式设计:尽管Flash主要用于桌面端,系统仍考虑多设备兼容性,通过响应式设计适配不同屏幕尺寸,提供一致体验。 API接口:系统支持与其他平台或服务通过API进行数据交互,如社交媒体分享、数据分析等,拓展功能边界。 用户体验:界面设计注重交互性与视觉效果,提升用户满意度和停留时间,增强平台吸引力。 版本控制:系统支持内容版本管理,便于追踪更新历史,方便内容维护与回滚。 性能监控:内置性能监控工具,实时跟踪系统负载与资源使用情况,及时发现并解决问题,保障系统稳定运行。 【久久在线FLASH系统】是一个综合性解决方案,融合了前端展示、后台管理、互动体验和数据分析等功能,体现了当时Web

3,882

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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