题目链接:http://codeup.cn/problem.php?cid=100000584&pid=6
题目描述
小智去超市买东西,买了不超过一百块的东西。收银员想尽量用少的纸币来找钱。
纸币面额分为50 20 10 5 1 五种。请在知道要找多少钱n给小明的情况下,输出纸币数量最少的方案。 1<=n<=99;
输入
有多组数据 1<=n<=99;
输出
对于每种数量不为0的纸币,输出他们的面值*数量,再加起来输出
样例输入
25 32
样例输出
20*1+5*1 20*1+10*1+1*2
每次取面值最大的数,直到取不了,再取下一个面值的纸币。
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
struct Money{
int num=0;
int m=0;
};
int main()
{
int n;
while(scanf("%d",&n),n!=0)
{
Money a[5];
a[0].m = 50;
a[1].m = 20;
a[2].m = 10;