কম্পিউটার

সি++ প্রোগ্রামে ঠিক n লিটার পানি কিনতে আমাদের ন্যূনতম কত টাকা দিতে হবে তা খুঁজে বের করতে


ধরুন আমাদের তিনটি সংখ্যা আছে n, a এবং b। আমরা n লিটার পানি কিনতে চাই। কাছাকাছি মাত্র দুই ধরনের পানির বোতল আছে, 1-লিটারের বোতল এবং 2-লিটারের বোতল। প্রথম ধরনের বোতলের দাম a টাকা এবং দ্বিতীয় ধরনের বোতলের দাম b টাকা। আমরা যতটা সম্ভব কম টাকা খরচ করতে চাই। ঠিক n লিটার পানি কিনতে আমাদের ন্যূনতম পরিমাণ অর্থ খুঁজে বের করতে হবে।

সুতরাং, যদি ইনপুট n =7 এর মত হয়; a =3; b =2, তাহলে আউটপুট হবে 9, কারণ 3 2-লিটার বোতল দিয়ে আমরা 6 লিটার জল পেতে পারি যার দাম 6, তারপর 3 খরচের জন্য একটি 1 লিটার বোতল প্রয়োজন৷

পদক্ষেপ

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

b := minimum of a * 2 and b
return (n / 2 * b) + (n mod 2) * a

উদাহরণ

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

#include <bits/stdc++.h>
using namespace std;

int solve(int n, int a, int b) {
   b = min(a * 2, b);
   return n / 2 * b + n % 2 * a;
}
int main() {
   int n = 7;
   int a = 3;
   int b = 2;
   cout << solve(n, a, b) << endl;
}

ইনপুট

7, 3, 2

আউটপুট

9

  1. C++ এ প্রতিটি কার্টেসিয়ান স্থানাঙ্ক সংযোগ করার জন্য সর্বনিম্ন খরচ খুঁজে বের করার জন্য প্রোগ্রাম

  2. C++ এ প্রথম থেকে যেকোনো শহরে পৌঁছাতে আমাদের ন্যূনতম সংখ্যক রাস্তা খুঁজে বের করার প্রোগ্রাম

  3. C++ এ কমিউনিকেশন টাওয়ারে ন্যূনতম সংখ্যক গ্রুপ খুঁজে বের করার প্রোগ্রাম?

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