বহুজনের বিনিবেশ করা টাকার একটি অ্যারে এবং তাদের বিনিবেশের সময়কালের অন্য একটি অ্যারে দেওয়া থাকলে, লাভ ভাগের অনুপাত নির্ণয় করা এই প্রোগ্রামের কাজ।
লাভ ভাগের অনুপাত কী?
একটি অংশীদারী ফার্মে, লাভ ও ক্ষতি অংশীদাররা তাদের বিনিবেশ করা ক্যাপিটালের উপর ভিত্তি করে ভাগ করে নেন। সেই ক্যাপিটাল বিনিবেশের শতাংশের উপর ভিত্তি করে লাভ ভাগের অনুপাত নির্ণয় করা হয়, যা দেখায় প্রতিটি অংশীদার কত লাভ পাবে।
সূত্র:
Partner 1 = বিনিবেশিত ক্যাপিটাল × সময়কাল
Partner 2 = বিনিবেশিত ক্যাপিটাল × সময়কাল
Partner 3 = বিনিবেশিত ক্যাপিটাল × সময়কাল
Partner 4 = বিনিবেশিত ক্যাপিটাল × সময়কাল . .
Person n = বিনিবেশিত ক্যাপিটাল × সময়কাল
লাভ ভাগের অনুপাত = Partner 1 : Partner 2 : Partner 3
উদাহরণ
Input-: amount[] = { 1000, 2000, 2000 } time[] = { 2, 3, 4 } Output-: profit sharing ratio 1 : 3 : 4 Input-: amount[] = {5000, 6000, 1000} time[] = {6, 6, 12} Output-: profit sharing ratio 5 : 6 :2 সমস্যা সমাধানের পদ্ধতি:
- বহুজনদের বিনিবেশিত ক্যাপিটালের অ্যারে এবং তাদের সময়কালের অ্যারে ইনপুট নেওয়া
- প্রতিটি অংশীদারের ক্যাপিটালকে তার সময়কালের সাথে গুণ করা
- গুণফলগুলোর অনুপাত নির্ণয় করা
- চূড়ান্ত ফলাফল প্রদর্শন করা
অ্যালগরিদম
Start step 1→ GCD গণনার ফাংশন ঘোষণা int GCD(int arr[], int size) int i ঘোষণা int result = arr[0] ঘোষণা Loop For i = 1 to size-1 result = __gcd(arr[i], result) সেট End return result step 2→ লাভ ভাগের অনুপাত গণনার ফাংশন ঘোষণা void cal_ratio(int amount[], int time[], int size) int i, arr[size] ঘোষণা Loop For i = 0 to size-1 arr[i] = amount[i] * time[i] সেট End int ratio = GCD(arr, size) ঘোষণা Loop For i = 0 to size-2 arr[i] / ratio প্রিন্ট End arr[i] / ratio প্রিন্ট Step 3→ main() এ amount[] = { 1000, 2000, 2000 } ঘোষণা time[] = { 2, 3, 4 } ঘোষণা size = sizeof(amount) / sizeof(amount[0]) ক্যালকুলেট cal_ratio(amount, time, size) কল Stop উদাহরণ
#include <bits/stdc++.h> using namespace std; // GCD গণনা int GCD(int arr[], int size) { int i; int result = arr[0]; for (i = 1; i < size; i++) result = __gcd(arr[i], result); return result; } // লাভ ভাগের অনুপাত গণনা void cal_ratio(int amount[], int time[], int size) { int i, arr[size]; for (i = 0; i < size; i++) arr[i] = amount[i] * time[i]; int ratio = GCD(arr, size); for (i = 0; i < size - 1; i++) cout << arr[i] / ratio << " : "; cout << arr[i] / ratio; } int main() { int amount[] = { 1000, 2000, 2000 }; int time[] = { 2, 3, 4 } int size = sizeof(amount) / sizeof(amount[0]); cout<<"profit sharing ratio "; cal_ratio(amount, time, size); return 0; } আউটপুট
profit sharing ratio 1 : 3 : 4