মনে করুন আমাদের একটি সংখ্যা N আছে, এবং ১, ১০ এবং ২৫ মূল্যের সikkা অসীম সংখ্যক আছে। ঠিক N পরিমাণ চুকাতে ন্যূনতম কয়টি সিক্কা লাগবে তা বের করতে হবে। মনে করুন N হল 14, তবে সিক্কার সংখ্যা হবে ৫, কারণ একটা ১০ মূল্যের সিক্কা এবং চারটি ১ মূল্যের সিক্কা।
এটি সমাধানের জন্য, নিচের ধাপগুলো অনুসরণ করতে হবে -
- যদি N < 10, তবে Nটি ১ মূল্যের সিক্কা রিটার্ন করুন
- যদি N > 9 এবং N < 25, তবে ১০ দিয়ে ভাগ করুন, এবং ফলাফল নিন, বাকিটা ১ মূল্যের সিক্কা দিয়ে কভার করুন, কাউন্ট যোগ করে ফলাফল পান
- যদি N > 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