Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 재귀를 사용하여 계열 1^1 + 2^2 + 3^3 + ... + n^n의 합

<시간/>

이 문제에서 1^1 + 2^2 + 3^3 + … + n^n 계열의 n번째 항을 정의하는 숫자 n이 주어집니다. 우리의 임무는 시리즈의 합을 찾을 프로그램을 만드는 것입니다.

문제를 이해하기 위해 예를 들어 보겠습니다.

입력

n = 4

출력

30

설명 - 합계 =(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