HDU2021递归
来源:互联网 发布:编程需要数学好吗 编辑:程序博客网 时间:2024/06/07 03:37
/*
发工资咯:)
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 68518 Accepted Submission(s): 36588
Problem Description
作为杭电的老师,最盼望的日子就是每月的8号了,因为这一天是发工资的日子,养家糊口就靠它了,呵呵
但是对于学校财务处的工作人员来说,这一天则是很忙碌的一天,财务处的小胡老师最近就在考虑一个问题:如果每个老师的工资额都知道
,最少需要准备多少张人民币,才能在给每位老师发工资的时候都不用老师找零呢?
这里假设老师的工资都是正整数,单位元,人民币一共有100元、50元、10元、5元、2元和1元六种。
Input
输入数据包含多个测试实例,每个测试实例的第一行是一个整数n(n<100),表示老师的人数,然后是n个老师的工资。
n=0表示输入的结束,不做处理。
Output
对于每个测试实例输出一个整数x,表示至少需要准备的人民币张数。每个输出占一行。
Sample Input
3
1 2 3
0
Sample Output
4
*/
#include <stdio.h>#include <math.h>#include <malloc.h>#include <string.h>#include <iostream>#include <algorithm>using namespace std;int getcount(int n,int count){ if(n==0) return count; else{ if(n>=100) { count++; getcount(n-100,count); } else if(n>=50&&n<100) { count++; getcount(n-50,count); } else if(n<50&&n>=10) { count++; getcount(n-10,count); } else if(n<10&&n>=5) { count++; getcount(n-5,count); } else if(n<5&&n>=2) { count++; getcount(n-2,count); } else if(n<2&&n>=1) { count++; getcount(n-1,count); } }}int main(){ int n; int a[101]; int b[6]; int sum; while(cin>>n) { sum=0; b[0]=100; b[1]=50; b[2]=10; b[3]=5; b[4]=2; b[5]=1; int count=0; if(n==0) { break; } for(int i=0;i<n;i++) { cin>>a[i]; } for(int j=0;j<n;j++) { sum+=getcount(a[j],count); } cout<<sum<<"\n"; //for(int ) } return 0;}
阅读全文
0 0
- HDU2021递归
- hdu2021
- HDU2021
- HDU2021
- HDU2021
- hdu2021发工资喽
- hdu2021发工资
- hdu2021(简单贪心)
- HDU2021发工资咯
- HDU2021发工资
- hdu2021(很闲~~)
- HDU2021 发工资咯
- hdu2021(发工资咯:)
- hdu2021 发工资咯:)
- hdu2021 发工资咯:)
- HDU2021 发工资咯:)
- HDU2021 发工资咯:)
- HDU2021 发工资咯:)
- 练习2
- [BZOJ2599][IOI2011]Race(点分治)
- 717. 1-bit and 2-bit Characters
- Java基础知识
- once his body was hidden in the secret alcove it
- HDU2021递归
- [Kafka]
- Microsoft Visual Studio 2013
- Android自动化测试之Monkeyrunner使用方法及实例
- bzoj1189 [HNOI2007]紧急疏散EVACUATE spfa+网络流+二分
- 用matlab画指定点与点之间的连线
- pygame入门小游戏(外星人入侵(10) 添加得分)
- Microsoft Visual Studio 2013
- 《Android进阶之光》学习笔记——第一章 Android新特性