题目描述
商店售货员找给 111 个顾客 nnn 元,用以下七种面值的纸币:100100100 元,505050 元,202020 元,101010 元,555 元,222 元,111 元。设计一个贪婪算法,使得找的钱币张数最少。
输入样例
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]);
}
}
2839

被折叠的 条评论
为什么被折叠?



