在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