题目描述
商店售货员找给 1 1 1 个顾客 n n n 元,用以下七种面值的纸币: 100 100 100 元, 50 50 50 元, 20 20 20 元, 10 10 10 元, 5 5 5 元, 2 2 2 元, 1 1 1 元。设计一个贪婪算法,使得找的钱币张数最少。
输入样例
123
输出样例
100元 1张
50元 0张
20元 1张
10元 0张
5元 0张
2元 1张
1元 1张
参考代码
// @Software: Visual Studio
#include<stdio.h>
#define N 7
int arrs[N] = { 0,0,0,0,0,0,0 };
int Value[N] = { 100,50,20,10,5,2,1 }; //每一张的面额
int main()
{
int money;
scanf_s("%d", &money);
for (int i = 0; i < N; i++)
{
int c = money / Value[i]; //每一个所需要的张数
money = money - c * Value[i];
arrs[i] = c;
}
for (int k = 0; k < N; k++)
{
printf("%d元 %d张\n", Value[k], arrs[k]);
}
}