【贪心法】:人民币找钱问题
2016-01-10 00:54
309 查看
题目
在贪心算法里面最常见的莫过于找零钱的问题了,题目大意如下,对于人民币的面值有1元 5元 10元 20元 50元 100元,下面要求设计一个程序,输入找零的钱,输出找钱方案中最少张数的方案,比如123元,最少是1张100的,1张20的,3张1元的,一共5张!思路
作一个循环,每次从大的钱遍历。如果还能扣除该钱,就扣除,否则往下遍历,同时把找出去的钱进行记录代码片:
[code]while(!flag){ for(int i=0;i<6;i++){ if(n>money[i]){ //n代表钱数 n-=money[i]; num[pos++] = money[i]; break; } if(n==0){ flag=1; } } }
整体代码
[code]#include <iostream> #include <cmath> using namespace std; int main(){ int money[6] =={100,50,20,10,5,1},num[50]; int n,pos=0,flag =0; cin>>n; while(!flag){ for(int i=0;i<6;i++){ if(n>money[i]){ n-=money[i]; num[pos++] = money[i]; break; } if(n==0){ flag=1; } } } for(int j=0;j<pos;j++) cout<<num[j]<<" "; cout<<endl; }
相关文章推荐
- Android Studio中的mipmap和drawable
- 《C++ Primer》笔记
- 从今天起开始写文章了
- 那些年,我们一起看的毛片
- Python 爬虫学习稿(一)
- 【贪心算法】:活动记录问题
- SQL SERVER使用ODBC 驱动建立的链接服务器调用存储过程时参数不能为NULL值
- Codeforces Round #338 (Div. 2) E. Hexagons(规律)
- Redis
- 基于扫描种子线算法的多边形区域填充实现
- Your awesome titleHH
- 关于Linux下s、t、i、a权限
- 数据库优化方案
- 【贪心算法】:背包问题
- Linux 启动过程
- 一个印度人写的文章,看完惊出一身冷汗,肯定包括你!
- C#实现字符串SHA-256加密算法
- RBAC权限管理系统
- ubuntu安装java
- ubuntu ssh免密码登陆验证