换硬币问题 :
你有三种硬币,分别面值2元,5元和7元,每种硬币都有足够多。买一本书需要27元。如何用最少的硬币组合正好付清,不需要对方找钱?
#include <iostream>
using namespace std;
const int g_nFen[3] = { 7, 5, 3 };
int CalProgramme(int nValue)
{
for (int nNum : g_nFen)
{
if (nValue > nNum)
{
if (1 == CalProgramme(nValue - nNum))
{
cout << nNum << " ";
return 1;
}
}
else if (nNum == nValue)
{
cout<<nNum<<" ";
return 1;
}
else
{
continue;
}
}
return -1;
}
int main()
{
if (1 != CalProgramme(32))
{
cout << "Error!" << endl;
}
}