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

시리즈 9, 33, 73,129에서 n번째 항을 찾는 C++ 프로그램 ...


이 문제에서 정수 N이 주어졌습니다. 작업은 n번째 항을 찾는 것입니다. 9, 33, 73, 129...

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

입력

N = 4

출력

129

설명

n번째 항까지의 시리즈는 9, 33, 73, 129...

해결 방법

문제의 해결책은 급수의 n번째 항을 찾는 것입니다. 수학적으로 찾은 다음 일반 용어 공식을 프로그램에 적용합니다.

먼저 시리즈를 1만큼 이동하여 빼겠습니다.

Sum = 9 + 33 + 73 + … + t(n-1) + t(n)
- Sum = 9 + 33 + 73 + …. + t(n-1) + t(n)

0 = 9 + ((33- 9) + (73 - 33) + … + (tn) - t(n-1)) - t(n)
t(n) = 9 + (24 + 40 + 56 + …. )

24 + 40 + 56 + …. is an A.P. series with common difference 16.

이것은 일반 용어를 만듭니다.

t(n) =9 + [ ((n-1)/2)*(2*(24) + (n-1-1)*16) ]

$$t(n)=9+[\left(\frac{n-1}{2}\right)*((2*24)+(n-2)*16)]$$ $$t(n )=9+[\left(\frac{n-1}{2}\right)*((2*24)+(n-2)*8)]$$

t(n) =9 + [(n - 1) * ((24) + (n - 2) * 8]

t(n) =9 + [(n - 1) * ((24) + 8n - 16]

t(n) =9 + [(n - 1) * (8 + 8n]

t(n) =9 + 8 * [(n - 1) * (n + 1)]

t(n) =9 + 8 * [n 2 - 1 2 ]

t(n) =9 + 8 * n 2 - 8

t(n) =8 * n 2 + 1

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

#include <iostream>
using namespace std;
int findNthTerm(int n) {
   return (8*n*n) + 1 ;
}
int main(){
   int n = 12;
   cout<<"The series is 9, 33, 73, 129...\n";
   cout<<n<<"th term of the series is "<<findNthTerm(n);
   return 0;
}

출력

The series is 9, 33, 73, 129...
12th term of the series is 1153