ধরুন আমাদের কাছে একটি সংখ্যা N, এবং 1, 10 এবং 25 টাকার মুদ্রার সীমাহীন সংখ্যক কয়েন রয়েছে। ঠিক পরিমাণ N দিতে আমাদের সর্বনিম্ন সংখ্যক কয়েন ব্যবহার করতে হবে। ধরুন N হল 14, তাহলে কয়েনের সংখ্যা হবে 5, একটি 10 মানের কয়েন এবং চারটি 1 মানের কয়েন।
এটি সমাধান করতে, আমাদের এই পদক্ষেপগুলি ব্যবহার করতে হবে -
- যদি N <10 হয়, তাহলে 1টি মানের কয়েনের N নম্বর দিন
- যদি 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