C++程式計算利潤分成比例


給定一個數組,其中包含多人投資的金額,以及另一個數組包含對應人員投資的期限,任務是生成利潤分成比例。

什麼是利潤分成比例

在合夥企業中,利潤和損失在合夥人之間分配,取決於他們在企業中的資本投資。根據該資本投資百分比,我們計算利潤分成比例,該比例顯示應分配給每個企業合夥人的利潤金額。

公式 - 合夥人 1 = 投資資本 * 時間段    

 合夥人 2 = 投資資本 * 時間段     

合夥人 3 = 投資資本 * 時間段       

合夥人 4 = 投資資本 * 時間段 .       .      

合夥人 n = 投資資本 * 時間段 

利潤分成比例 = 合夥人 1 : 合夥人 2: 合夥人 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-> declare function to calculate GCD
   int GCD(int arr[], int size)
   declare int i
   Declare int result = arr[0]
   Loop For i = 1 and i < size and i++
      set result = __gcd(arr[i], result)
   End
   return result
step 2-> declare function to calculate profit sharing ratio
   void cal_ratio(int amount[], int time[], int size)
   declare int i, arr[size]
   Loop For i = 0 and i < size and i++
      set arr[i] = amount[i] * time[i]
   End
   declare int ratio = GCD(arr, size)
   Loop For i = 0 and i < size - 1 and i++
      print arr[i] / ratio
   End
   print  arr[i] / ratio
Step 3-> In main()
   declare int amount[] = { 1000, 2000, 2000 }
   declare int time[] = { 2, 3, 4 }
   calculate int size = sizeof(amount) / sizeof(amount[0])
   call cal_ratio(amount, time, size)
Stop

示例

#include <bits/stdc++.h>
using namespace std;
//calculate 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;
}
//calculate profit sharing ratio
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

更新於: 2019年11月20日

390 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告