使用遞迴在 C++ 中計算級數 1^1 + 2^2 + 3^3 + ... + n^n 的和


在這個問題中,我們給定一個數字 n,它定義了級數 1^1 + 2^2 + 3^3 + … + n^n 的第 n 項。我們的任務是建立一個程式來找到該級數的和。

讓我們舉個例子來理解這個問題,

輸入

n = 4

輸出

30

解釋 -sum = (1^1) + (2^2) + (3^3) + (4^4) = 1 + 4 + 9 + 16 = 30。

為了解決這個問題,我們將迴圈從 1 到 n。找到每個數字的平方。並將每個數字新增到 sum 變數中。

演算法

Initialize sum = 0
Step 1: Iterate from i = 1 to n. And follow :
   Step 1.1: Update sum, sum += i*i
Step 2: Print sum.

示例

程式說明了解決方案的工作原理,

線上演示

#include <iostream>
using namespace std;
long long calcSeriesSum(int n) {
   long long sum = 0;
   for( int i = 1; i <= n; i++ )
   sum += (i*i);
   return sum;
}
int main() {
   int n = 7;
   cout<<"Sum of the series 1^1 + 2^2 + 3^3 + ... + "<<n<<"^"<<n<<" is "<<calcSeriesSum(n);
   return 0;
}

輸出

Sum of the series 1^1 + 2^2 + 3^3 + ... + 7^7 is 140

更新於: 2020年8月14日

3K+ 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

立即開始
廣告
© . All rights reserved.