C++程式,用於求解級數1/1! + 2/2! + 3/3! + 4/4! + …… n/n! 的和。


在這裡,我們將瞭解如何求解給定級數的和。n的值將由使用者輸入。我們可以透過編寫一個階乘函式,並在迴圈的每個步驟中計算階乘來解決這個問題。但是,階乘計算比普通的加法運算代價更高。我們將使用前一個階乘項來計算下一個階乘項。例如,3! 是 (3 * 2 * 1),而 4! 是 4 * 3!。因此,如果我們將 3! 儲存到某個變數中,我們就可以利用它,只需加上下一個數字即可輕鬆獲得下一個階乘。

演算法

sum_series_fact(n)

begin
   res := 0
   denominator := 1
   for i in range 1 to n, do
      denominator := denominator * i
      res := res + i / denominator
   done
return res
end

示例

 線上演示

#include<iostream>
using namespace std;
float series_result(int n) {
   float denominator = 1;
   float res = 0;
   for(int i = 1; i<= n; i++) {
      denominator *= i;
      res += float(i/denominator);
   }
   return res;
}
main() {
   int n;
   cout << "Enter number of terms: ";
   cin >> n;
   cout << "Result: " << series_result(n);
}

輸出

Enter number of terms: 5
Result: 2.70833

輸出

Enter number of terms: 3
Result: 2.5

更新於: 2019年7月30日

1K+ 閱讀量

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.