使用递归在 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
广告