Hua Wei 机试题目二

时间:2022-03-26 07:12:27

题目描述:
假设1元,5元,10元,50元,100元的人民币若干,实现一个能找到最少张数累计达到一个指定金额方法。如:67元,可分为67个1元钱。也可分为6个10元7个1元,其中最少人民币分法为一张50元,一张10元,一张5元,两张1元,五张不同金额的拆分方法为最最少张数拆分法。

要求实现函数:
void CalLeastChange(long lInputValue, int *iOutputRlt)
【输入】 lInputValue: 输入整数金额
【输出】 lOutputRlt: 输出计算结果
【注意】仅考虑整数金额拆分方法
示例
输入:“67”
输出:“5”

#include<iostream>
using namespace std; void CalLeastChange(long lInputValue, int *iOutputRlt)
{
int highNum=lInputValue/(*);
int lowerNum=lInputValue-(lInputValue/)*;
int curNum=(lInputValue/)%; int count=highNum;
if(curNum>=)
{
count++;
curNum-=;
}
count=count+curNum; if(lowerNum>=)
{
count++;
lowerNum-=;
}
count=count+lowerNum; *iOutputRlt=count; cout<<*iOutputRlt<<endl; } int main()
{
int lInputValue=;
int lInputValue1=;
int iOutputRlt[]={};
CalLeastChange(lInputValue,iOutputRlt);
CalLeastChange(lInputValue1,iOutputRlt);
return ;
}