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 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.