找出以C ++支付总金额所需的最小硬币数量
假设我们有一个数字N,并且有数量不受限制的1、10和25个货币硬币的硬币。找出我们需要用来精确支付N的最小硬币数目。假设N为14,那么硬币数目将为5,即一个10值硬币和四个1值硬币。
为了解决这个问题,我们必须使用以下步骤-
如果N <10,则返回N个1值硬币
如果N> 9且N <25,则将值除以10,并得到结果,剩余的将使用1值硬币覆盖,加上计数即可得到结果
如果N> 25,则将其除以25,得到结果,当结果<25时,再次对第二点执行相同的任务,依此类推。
示例
#include<iostream>using namespace std;
int countMinCoins(int n) {
if(n<10)
return n;
else if(n > 9 && n < 25){
int count = n/10;
count += n%10;
return count;
} else {
int count = n/25;
return count + countMinCoins(n%25);
}
}
int main() {
int n = 88;
cout << "所需硬币最少数量: " << countMinCoins(n);
}
输出结果
所需硬币最少数量: 7
以上是 找出以C ++支付总金额所需的最小硬币数量 的全部内容, 来源链接: utcz.com/z/345260.html