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
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP