HDU_oj_2021 发工资喽

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
 
分析:
注意计算钱币个数的简便算法,时间复杂度为 O(1)
注意点:无
 
 1 #include<iostream>
 2 using namespace std;
 3 
 4 int num(int m)
 5 {
 6     int n;
 7     n=(m/100)+((m%100)/50)+((m%50)/10)
 8         +((m%10)/5)+((m%5)/2)+(m-m/5)%2; 
 9     return n;
10 }
11 int main()
12 {
13     int n,m,sumn;
14     while(cin>>n && n)
15     {
16         sumn=0;
17         while(n--)
18         {
19             cin>>m;
20             sumn += num(m);
21         }
22         cout<<sumn<<endl;
23     }
24 }
原文地址:https://www.cnblogs.com/tenjl-exv/p/7988731.html