采用贪心算法解决找零钱问题,如果需要找零57.8元,零钱数分别为(10元、5元、1元、5角、2角、1角)
1、采用元为单位编写程序如下所示:
#include<iostream>
using namespace std;
int main()
{
float total=0.0;
cout<<"请输入需要找的零钱数:";
cin>>total;
float sum=total;
const float a[]={10,5,1,0.5,0.2,0.1};
int i,b[6]={0};
for(i=0;i<6;++i)
{
b[i]=total/a[i];
total=total-b[i]*a[i];
}
cout<<"得到的结果为:"<<sum<<"=";
for( i=0;i<5;