飞越的心


私信TA

用户名:H2030819089

访问量:16285

签 名:

等  级
排  名 73
经  验 9462
参赛次数 18
文章发表 38
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

解题思路:

贪心

钱要从大到小取才能取到最小的张数

用两层循环,第一层为每次输入的员工,第二层为员工能选择的钱的面值


注意事项:钱要从大到小排列

参考代码:

#include<bits/stdc++.h>
using namespace std;
int main()
{
	int n;
	int a[105];
	int b[6]={100,50,10,5,2,1};
	int ans=0;
	while(cin>>n&&n)//多组输入且输入0跳出 
	{
		int t=0;
		for(int i=0;i<n;i++)
		{
			cin>>a[i];
		}
		for(int i=0;i<n;i++)
		{
			for(int j=0;j<6;j++)
			{
				ans=a[i]/b[j];//张数 
				a[i]=a[i]%b[j];//剩下的钱 
				t+=ans;
			}
		}
		cout<<t<<endl;
	}
}


 

0.0分

2 人评分

  评论区