이 문제에서 정수 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