HDU 2021 发工资咯

问题描述

作为杭电的老师,最盼望的日子就是每月的 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;
}
上一篇:[云炬学英语]每日一句2020.8.27


下一篇:【Swift】LeedCode 去掉最低工资和最高工资后的工资平均值