在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