问题描述:
有1元、2元、3元、5元的硬币各无数枚。现在要用这些硬币来支付n元,最少需要多少枚硬币?
样例输入:10
样例输出:5
#include<bits/stdc++.h>
using namespace std;
int n;
int coin[10]={1,2,3,5};
int cal(int m)
{
if(m<=0)
return 0;
else
{
int t=100000;
for(int i=0;i<4;i++)
{
int c=cal(m-coin[i]);
t=min(t,c+1); //寻找最小值
}
return t;
}
}
int main()
{
cin>>n;
int num=cal(n);
cout<<num;
return 0;
}