问题描述
作为杭电的老师,最盼望的日子就是每月的 8 号了,因为这一天是发工资的日子,养家糊口 就靠它了,呵呵 但是对于学校财务处的工作人员来说,这一天则是很忙碌的一天,财务处的小胡老师最近就 在考虑一个问题:如果每个老师的工资额都知道,最少需要准备多少张人民币,才能在给每 位老师发工资的时候都不用老师找零呢? 这里假设老师的工资都是正整数,单位元,人民币一共有 100 元、50 元、10 元、5 元、2 元 和 1 元六种。
输入
输入数据包含多个测试实例,每个测试实例的第一行是一个整数n(n<100),表示老师的人 数,然后是n 个老师的工资。 n=0 表示输入的结束,不做处理。
输出量
对于每个测试实例输出一个整数 x,表示至少需要准备的人民币张数。每个输出占一行。
样本输入
3
1 2 3
0
样本输出
4
代码
#include <iostream>
using namespace std;
int main(){
int n,salary;
int sum;
while (cin>>n,n){
sum=0;
for (int i = 0; i < n; ++i) {
cin>>salary;
sum+=salary/100; //需要100元的张数
salary%=100;
sum+=salary/50; //需要50元的张数
salary%=50;
sum+=salary/10; //需要10元的张数
salary%=10;
sum+=salary/5; //需要5元的张数
salary%=5;
sum+=salary/2; //需要2元的张数
salary%=2;
sum+=salary; //需要1元的张数
}
cout<<sum<<endl;
}
return 0;
}