在 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