কম্পিউটার

C++ এ প্রদত্ত পরিমাণের যোগফলের ন্যূনতম সংখ্যক মুদ্রার নোট এবং মান খুঁজুন


ধরুন আমাদের কাছে এমন পরিমাণ আছে, এবং আমাদের বিভিন্ন মূল্যমানের নোটের ন্যূনতম সংখ্যা খুঁজে বের করতে হবে, যে পরিমাণ প্রদত্ত পরিমাণ পর্যন্ত। সর্বোচ্চ মূল্যের নোট থেকে শুরু করুন, প্রদত্ত পরিমাণের জন্য যতটা সম্ভব নোট খুঁজে বের করার চেষ্টা করুন। এখানে অনুমান হল যে আমাদের অসীম পরিমাণ {2000, 500, 200, 100, 50, 20, 10, 5, 2, 1} আছে। সুতরাং যদি পরিমাণটি বলা হয় 800, তাহলে নোটগুলি 500, 200, 100 হবে৷

এখানে আমরা এই সমস্যা সমাধানের জন্য লোভী পন্থা ব্যবহার করব।

উদাহরণ

#include<iostream>
using namespace std;
void countNotes(int amount) {
   int notes[10] = { 2000, 500, 200, 100, 50, 20, 10, 5, 2, 1 };
   int noteFreq[10] = { 0 };
   for (int i = 0; i < 10; i++) {
      if (amount >= notes[i]) {
         noteFreq[i] = amount / notes[i];
         amount = amount - noteFreq[i] * notes[i];
      }
   }
   cout << "Note count:" << endl;
   for (int i = 0; i < 9; i++) {
      if (noteFreq[i] != 0) {
         cout << notes[i] << " : " << noteFreq[i] << endl;
      }
   }
}
int main() {
   int amount = 1072;
   cout << "Total amount is: " << amount << endl;
   countNotes(amount);
}

আউটপুট

Total amount is: 1072
Note count:
500 : 2
50 : 1
20 : 1
2 : 1

  1. C++ এ ন্যূনতম যোগফল আছে এমন ট্রি লেভেল খুঁজে বের করার প্রোগ্রাম

  2. C++ ব্যবহার করে সংখ্যার ন্যূনতম যোগফল নির্ণয় করুন।

  3. C++ ব্যবহার করে x-এর যোগফল এবং এর অঙ্কগুলো n-এর সমান হয় এমন একটি সংখ্যা খুঁজুন।

  4. x এর সমষ্টি এবং এর সংখ্যা C++ এ দেওয়া n-এর সমান