मान लीजिए हमारे पास एक संख्या 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