C++ 程式:求解級數 a^1/1! + a^2/2! + a^3/3! + a^4/4! +……+ a^n/n!


在這個問題中,我們給定兩個數字 a 和 n。我們的任務是建立一個C++ 程式來求解級數 a^1/1! + a^2/2! + a^3/3! + a^4/4! +……+ a^n/n!

問題描述 - 問題是使用給定的 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

更新於: 2020-09-16

505 次檢視

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.