本文主要是介绍最少货币支付问题-贪心,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
最少货币支付问题#include<iostream>
using namespace std;
// 1,2,5,10,20,50,100
int main()
{
int n,t;//t<=10000
int x[7];
for(int i=0;i<7;i++)
{
x[i]=0;
}贪心-最优装载问题
cin>>n;
while(n--)
{
cin>>t;
if(t>=100)
{
x[6]=t/100;
t=t-x[6]*100;
}
if(t>=50)
{
x[5]=1;
t=t-50;
}
if(t>=20)
{
x[4]=t/20;
t=t-x[4]*20;
}
if(t>=10)
{
x[3]=1;
t=t-10;
}
if(t>=5)
{
x[2]=1;
t=t-5;
}
if(t>=2)
{
x[1]=t/2;
t=t-x[1]*2;
}
if(t==1)
{
x[0]=1;
t=t-1;
}
else x[0]=0;
for(int i=0;i<7;i++)
cout<<x[i]<<" ";
cout<<endl;
}
}
这篇关于最少货币支付问题-贪心的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!