思路:將硬幣的錢幣面值從大到小進行與總面值的運算,直到總面值爲0結束
#include<stdio.h>
#include<stdlib.h>
#include<algorithm>
using namespace std;
int n;
int main()
{
int A;
int v[6]={1,5,10,50,100,500};//錢幣面值
int c[6];//每種錢幣的數量
int num[6];
for(int i=0;i<6;i++)
scanf("%d",&c[i]);
scanf("%d",&A);
int ans=0;//用的錢幣的枚數
for(int i=5;i>=0;i--)
{
int t=min(A/v[i],c[i]);
num[i]=t;
A-=t*v[i];
ans+=t;
}
for(int i=0;i<6;i++)
printf("%d ",num[i]);//每種錢幣的數量
printf("\n總數量%d",ans);
}