在 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 << "Minimum number of coins required: " << countMinCoins(n);
}输出
Minimum number of coins required: 7
广告
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP