C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

シリーズの合計a^1/1を見つけるプログラム! + a ^ 2/2! + a ^ 3/3! + a ^ 4/4! +……。+a^ n / n! C++で


この問題では、2つの数aとnが与えられます。私たちのタスクは、シリーズの合計a^1/1を見つけるプログラムを作成することです。 + a ^ 2/2! + a ^ 3/3! + a ^ 4/4! +……。+a^ n / n! C++で

問題の説明 −問題は、aとnの指定された値を使用して、指定された級数の合計を見つけることです。このシリーズは、各項がa / i、i->1からnの最後の項の倍数である特別なシリーズです。

問題を理解するために例を見てみましょう

入力

a = 3, n = 4

出力

15.375

説明

級数の合計は

(3^1)/1! + (3^2)/2! + (3^3)/3! + (3^4)/4! = 3 + 9/2 + 27/6 + 81/24
= 15.375

ソリューションアプローチ

級数の合計を見つけるために、ループを使用して級数のi番目の項を見つけ、それらを追加して合計を見つけます。

シリーズの各要素の計算には、直接計算オーバーヘッドがあります。したがって、次の用語を見つけるために最後の用語を使用します。

ここで、i番目の項=(i-1)番目の項* a/i。

これを使用すると、コードの全体的なパフォーマンスを向上させる計算が少ない用語が見つかります。

ソリューションの動作を説明するプログラム

#include <iostream>
using namespace std;
float calcSeriesSum(int a, int n){
   float sumVal = 0, term = 1;
   for(float i = 1; i <= n; i++){
      term *= a/i;
      sumVal += term;
   }
   return sumVal;
}
int main(){
   int a = 3, n = 4;
   cout<<"The sum of the series is "<<calcSeriesSum(a, n);
   return 0;
}

出力

The sum of the series is 15.375

  1. オイラー数の値を計算するPythonプログラムe。式を使用します:e =1 + 1/1! + 1/2! +……1/n!

    オイラーの数を実装する必要がある場合は、階乗を計算するメソッドが定義されます。 これらの階乗数の合計を求める別の方法が定義されています。 以下は同じのデモンストレーションです- 例 def factorial_result(n):    result = 1    for i in range(2, n + 1):       result *= i    return result def sum_result(n):    s = 0.0    for

  2. シリーズ1/1の合計を見つけるPythonプログラム! + 2/2! + 3/3! + 4/4! +……。+n/ n!

    この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 −整数入力nが与えられた場合、級数1/1の合計を見つける必要があります。 + 2/2! + 3/3! + 4/4! +……。+n/ n! ここではforループを実装しているため、時間計算量としてO(n)を取得します。 ここで効率を達成するために、同じループ内で階乗を計算します。 ここでは、以下に説明するようにsumofseries関数をフレーム化します- 例 def sumOfSeries(num):    res = 0    fact =