برنامه محاسبه نسبت تقسیم سود — راهنمای کاربردی

ساخت وبلاگ

در این مطلب، روش نوشتن برنامه محاسبه نسبت تقسیم سود بیان و پیاده‌سازی آن در زبان‌های برنامه‌نویسی گوناگون شامل «سی‌پلاس‌پلاس» (++C)، «جاوا» (Java)، «پایتون» (Python)، «سی‌شارپ» (#C) و «پی‌اچ پی» (PHP) انجام شده است.

برنامه محاسبه نسبت تقسیم سود

یک آرایه از مقادیر و دوره‌های زمانی داده شده است. این آرایه، میزان پولی که N فرد سرمایه‌گذاری کرده‌اند و همچنین، مدت زمانی که هر یک از آن‌ها سرمایه‌گذاری کرده‌اند را نشان می‌دهد. اکنون، هدف محاسبه نسبت تقسیم سود آن‌ها در پایان مدت سرمایه‌گذاری است. مثال زیر برای درک بهتر مسئله، قابل توجه است.

Input: n = 2,
Amount1 = 7000, Time1 = 12 months
Amount2 = 6000, Time2 = 6 months
Output: 7 : 3
Input: n = 3,
Amount1 = 5000, Time1 = 6 months
Amount2 = 6000, Time2 = 6 months
Amount3 = 1000, Time3 = 12 months
Output: 5 : 6: 2

الگوریتم مورد استفاده برای محاسبه نسبت تقسیم سود در ادامه آمده است.

  • سهم اولین فرد: (میزان پولی که توسط اولین فرد سرمایه‌گذاری شده است) * (مدت زمان سرمایه‌گذاری فرد)
  • سهم دومین فرد: (میزان پولی که توسط دومین فرد سرمایه‌گذاری شده است) * (مدت زمان سرمایه‌گذاری فرد)
  • سهم سومین فرد: (میزان پولی که توسط سومین فرد سرمایه‌گذاری شده است) * (مدت زمان سرمایه‌گذاری فرد)

و به همین ترتیب برای سایر افراد نیز محاسبه می‌شود.

  • نسبت تقسیم سود: سهم اولین نفر : سهم دومین نفر : سهم سومین نفر

در ادامه، پیاده‌سازی رویکرد بالا، در زبان‌های برنامه‌نویسی گوناگون انجام شده است.

برنامه محاسبه نسبت تقسیم سود در ++C

// C++ implementation of above approach
#include <bits/stdc++.h>
using namespace std;
// Calculating GCD of an array.
int find_Gcd(int crr[], int n)
{ int i; int result = crr[0]; for (i = 1; i < n; i++) result = __gcd(crr[i], result); return result;
}
// Function to calculate the Share
void profitRatio(int amountArr[], int timeTrr[], int n)
{ int i, crr[n]; for (i = 0; i < n; i++) crr[i] = amountArr[i] * timeTrr[i]; int Share = find_Gcd(crr, n); for (i = 0; i < n - 1; i++) cout << crr[i] / Share << " : "; cout << crr[i] / Share;
}
// Driver Code
int main()
{ int amountArr[] = { 5000, 6000, 1000 }; int timeTrr[] = { 6, 6, 12 }; int n = sizeof(amountArr) / sizeof(amountArr[0]); profitRatio(amountArr, timeTrr, n); return 0;
}

برنامه محاسبه نسبت تقسیم سود در جاوا

// Java implementation of
// above approach
import java.io.*;
class GFG
{
// Recursive function to
// return gcd of a and b
static int __gcd(int a, int b)
{ // Everything divides 0 if (a == 0 || b == 0) return 0; // base case if (a == b) return a; // a is greater if (a > b) return __gcd(a - b, b); return __gcd(a, b - a);
}
// Calculating GCD of an array.
static int find_Gcd(int crr[], int n)
{ int i; int result = crr[0]; for (i = 1; i < n; i++) result = __gcd(crr[i], result); return result;
}
// Function to calculate the Share
static void profitRatio(int amountArr[], int timeTrr[], int n)
{ int i; int crr[] = new int[n] ; for (i = 0; i < n; i++) crr[i] = amountArr[i] * timeTrr[i]; int Share = find_Gcd(crr, n); for (i = 0; i < n - 1; i++) System.out.print(crr[i] / Share + " : "); System.out.print(crr[i] / Share);
}
// Driver Code
public static void main (String[] args)
{ int amountArr[] = {5000, 6000, 1000}; int timeTrr[] = {6, 6, 12}; int n = amountArr.length; profitRatio(amountArr, timeTrr, n);
}
}
// This code is contributed
// by inder_verma.

برنامه محاسبه نسبت تقسیم سود در پایتون ۳

# Python3 implementation of above approach
# Recursive function to
# return gcd of a and b
def __gcd(a, b): # Everything divides 0 if(a == 0 or b == 0): return 0; # base case if(a == b): return a; # a is greater if(a > b): return __gcd(a - b, b); return __gcd(a, b - a);
# Calculating GCD of an array.
def find_Gcd(crr, n): result = crr[0]; for i in range(1, n): result = __gcd(crr[i], result); return result;
# Function to calculate the Share
def profitRatio(amountArr, timeTrr, n): i = 0; crr = [0] * n; for i in range(n): crr[i] = amountArr[i] * timeTrr[i]; Share = find_Gcd(crr, n); for i in range(n - 1): print(int(crr[i] / Share), end = " : "); print(int(crr[i + 1] / Share));
# Driver Code
amountArr = [5000, 6000, 1000];
timeTrr = [6, 6, 12];
n = len(amountArr);
profitRatio(amountArr, timeTrr, n);
# This code is contributed
# by mits

برنامه محاسبه نسبت تقسیم سود در #C

// C# implementation of
// above approach
using System;
class GFG
{
// Recursive function to
// return gcd of a and b
static int __gcd(int a, int b)
{ // Everything divides 0 if (a == 0 || b == 0) return 0; // base case if (a == b) return a; // a is greater if (a > b) return __gcd(a - b, b); return __gcd(a, b - a);
}
// Calculating GCD of an array.
static int find_Gcd(int []crr, int n)
{ int i; int result = crr[0]; for (i = 1; i < n; i++) result = __gcd(crr[i], result); return result;
}
// Function to calculate the Share
static void profitRatio(int []amountArr, int []timeTrr, int n)
{ int i; int []crr = new int[n] ; for (i = 0; i < n; i++) crr[i] = amountArr[i] * timeTrr[i]; int Share = find_Gcd(crr, n); for (i = 0; i < n - 1; i++) Console.Write(crr[i] / Share + " : "); Console.Write(crr[i] / Share);
}
// Driver Code
public static void Main ()
{ int []amountArr = {5000, 6000, 1000}; int []timeTrr = {6, 6, 12}; int n = amountArr.Length; profitRatio(amountArr, timeTrr, n);
}
}
// This code is contributed
// by inder_verma.

برنامه محاسبه نسبت تقسیم سود در PHP

<?php
// PHP implementation of
// above approach
// Recursive function to
// return gcd of a and b
function __gcd($a, $b)
{ // Everything divides 0 if ($a == 0 or $b == 0) return 0; // base case if ($a == $b) return $a; // a is greater if ($a > $b) return __gcd($a - $b, $b); return __gcd($a, $b - $a);
}
// Calculating GCD of an array.
function find_Gcd($crr, $n)
{ $i; $result = $crr[0]; for ($i = 1; $i < $n; $i++) $result = __gcd($crr[$i], $result); return $result;
}
// Function to calculate the Share
function profitRatio($amountArr, $timeTrr, $n)
{ $i; $crr = array(); for ($i = 0; $i < $n; $i++) $crr[$i] = $amountArr[$i] * $timeTrr[$i]; $Share = find_Gcd($crr, $n); for ($i = 0; $i < $n - 1; $i++) echo $crr[$i] / $Share , " : "; echo $crr[$i] / $Share;
}
// Driver Code
$amountArr = array(5000, 6000, 1000);
$timeTrr = array(6, 6, 12);
$n = count($amountArr);
profitRatio($amountArr, $timeTrr, $n);
// This code is contributed
// by inder_verma
?>
خروجی قطعه کد بالا، به صورت زیر است.

5 : 6 : 2

اگر نوشته بالا برای شما مفید بوده است، آموزش‌های زیر نیز به شما پیشنهاد می‌شوند:

telegram
twitter

الهام حصارکی

«الهام حصارکی»، فارغ‌التحصیل مقطع کارشناسی ارشد مهندسی فناوری اطلاعات، گرایش سیستم‌های اطلاعات مدیریت است. او در زمینه هوش مصنوعی و داده‌کاوی، به ویژه تحلیل شبکه‌های اجتماعی، فعالیت می‌کند.

نوشته برنامه محاسبه نسبت تقسیم سود — راهنمای کاربردی اولین بار در مجله فرادرس. پدیدار شد.

مطالب درسی...
ما را در سایت مطالب درسی دنبال می کنید

برچسب : نویسنده : خنجی darsi بازدید : 307 تاريخ : سه شنبه 24 دی 1398 ساعت: 20:12

خبرنامه