求找零钱数,要求:
1) 有面值100,50,10,5,1元面值的零钱,任意给出一定数额的钱,计算出最少的面值组合。
2) 如67,可以组成一张50,一张10,一张5,两种1元,也可以组成67张1元,但是后者面值组合数不是最少,不符合要求。
#include <iostream>
using namespace std;
void count(int iMoney,int& iCount)
{
if(iMoney >= 100)
{
iCount = iMoney/100;
iMoney = iMoney%100;
}
if(iMoney >= 50)
{
iCount += 1;
iMoney = iMoney%50;
}
if(iMoney >= 10)
{
iCount += iMoney/10;
iMoney = iMoney%10;
}
if(iMoney >= 5)
{
iCount += 1;
iMoney = iMoney%5;
}
if(iMoney >= 1)
{
iCount += iMoney;
}
}