【题目描述】
财务处要给公司的n位员工发工资了,请你帮助计算最少要多少张人民币才能给每位员工发工资而不必找零呢?已知人民币的面额为100元,50元,10元,5元,2元和1元这6种。
【输入格式】
第一个值为正整数n,后面接着n个正整数表示n位员工的工资
【输出格式】
一行一个整数输出一共要准备的人民币张数。
【输入样例】
3 1 2 3
【输出样例】
4
主要是得知道是怎么算每个人的纸币数。就是一个一个往下算就行。
#include<iostream>
using namespace std;
int min(int in)
{
int all = 0;
if(in>=100)
{
all = in / 100;
in = in - all * 100;
}
if(in>50)
{
all++;
in = in - 50;
}
if (in > 10)
{
all = all + in / 10;
in = in - (in / 10) * 10;
}
if (in > 5)
{
all++;
in = in - 5;
}
if (in > 2)
{
all = all + in / 2;
in = in - (in / 2)*2;
}
if(in==1)
{
all++;
}
return all;
}
int main()
{
int n;
cin >> n;
//cout << n<<endl;
int* salary = new int[n];
for(int i=0;i<n;i++)
{
cin >> salary[i];
//cout<< salary[i]<<endl;
}
int sum = 0;
for(int j=0;j<n;j++)
{
//cout << min(salary[j]) << endl;;
sum = sum + min(salary[j]);
}
cout << sum;
}```