シリーズの合計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
-
オイラー数の値を計算する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
-
シリーズ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 =