কম্পিউটার টিউটোরিয়াল

সি++ কোড: শেয়ার কেনা-বেচা করে টাকা বের করুন

দুটি অ্যারে A (সাইজ n) এবং B (সাইজ m), আর একটি সংখ্যা r দেওয়া আছে। nটি শেয়ার কেনার সুযোগ আছে, i-তম সুযোগে A[i] দামে যত চাই শেয়ার কেনা যায়। mটি শেয়ার বেচার সুযোগ আছে, i-তম সুযোগে B[i] দামে বেচা যায়। হাতে থাকা শেয়ারের চেয়ে বেশি বেচা যাবে না। প্রাথমিক টাকা r এবং শেয়ার ০। কেনা-বেচার পর সর্বোচ্চ কত টাকা থাকবে তা বের করতে হবে।

উদাহরণ

A = [4, 2, 5], B = [4, 4, 5, 4], r = 11 → আউটপুট: 26
ব্যাখ্যা: ১১ টাকায় ২ টাকা দামে ৫টি শেয়ার কিনে ৫ টাকা দামে বেচলে মোট ২৬ টাকা হয়।

সমাধানের ধাপসমূহ

n := A-এর সাইজ
an := 1100, bn := 0
for i := 0 to n-1: if an > A[i] then an := A[i]
for i := 0 to m-1: if bn < B[i] then bn := B[i]
if bn > an:
    r := bn * (r / an) + (r - (r / an) * an)
return r

সি++ কোড উদাহরণ

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

int solve(vector<int> A, vector<int> B, int r) {
    int n = A.size(), m = B.size();
    int an = 1100, bn = 0;
    for (int i = 0; i < n; i++)
        if (an > A[i]) an = A[i];
    for (int i = 0; i < m; i++)
        if (bn < B[i]) bn = B[i];
    if (bn > an) {
        r = bn * (r / an) + (r - (r / an) * an);
    }
    return r;
}

int main() {
    vector<int> A = {4, 2, 5};
    vector<int> B = {4, 4, 5, 4};
    int r = 11;
    cout << solve(A, B, r) << endl;
}

ইনপুট

{ 4, 2, 5 }, { 4, 4, 5, 4 }, 11

আউটপুট

26
  1. C++-এ স্ট্রিংসে ফাইন্ড অ্যান্ড রিপ্লেস অপারেশন

  2. C++-এ Before and After পাজল সমাধান করুন

  3. লাভের শতাংশ এবং কস্ট দিয়ে বিক্রয় মূল্য বের করা C++-তে

  4. C++-এ বিক্রয় মূল্য (Selling Price) এবং লাভ/লস শতাংশ দিয়ে ক্রয় মূল্য (Cost Price) নির্ণয়