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

시리즈 3, 9, 21, 41, 71…의 n번째 항을 찾는 C++ 프로그램


이 문제에서 정수 N이 주어집니다. 작업은 3, 9, 21, 41, 71...에서 n번째 항을 찾는 것입니다.

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

입력

N = 7

출력

169

설명

The series is 3, 9, 21, 41, 71, 169...

해결 방법

이 문제에 대한 간단한 해결책은 급수의 일반항을 찾는 것입니다. 일반항은 급수를 조금 관찰하여 찾을 수 있습니다. 그것은,

$$T(N) =\sum n^{2} + \sum n + 1$$

처음 n개의 자연수, 처음 n개의 자연수의 제곱합에 대한 공식을 직접 사용한 다음 세 값을 더할 수 있습니다. 마지막으로 결과 값을 반환합니다.

$$T(N)=\left(\frac{n*(n+1)*(2n+1)}{6}\right)+\left(\frac{n*(n+1)}{2 }\right)+1$$

우리 솔루션의 작동을 설명하는 프로그램

#include <iostream>
using namespace std;
int findNthTerm(int n) {
   return ((((n)*(n + 1)*(2*n + 1)) / 6) + (n * (n + 1) / 2) + 1);
}
int main() {
   int N = 12;
   cout<<"The "<<N<<"th term of the series is "<<findNthTerm(N);
   return 0;
}

출력

The 12th term of the series is 729