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

C++에서 시리즈 1, 3, 12, 60, 360...의 N번째 항을 찾는 프로그램

<시간/>

이 문제에서 숫자 N이 주어집니다. 우리의 임무는 C++에서 시리즈 1, 3, 12, 60, 360...의 N번째 항을 찾는 프로그램을 만드는 것입니다.

주어진 시리즈

1, 3, 12, 60, 360, 2520 ... N 조건

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

입력 - N =6

출력 − 2520

해결 방법:

이것에 대한 일반 용어 공식은 약간 까다롭습니다. 따라서 계열 값의 증가가 큽니다. 따라서 몇 가지 가능성이 계승 또는 지수가 있을 수 있습니다. 따라서 우리는 먼저 계승(factorial)을 고려할 것이고, 관찰하면 요인 값의 절반이 성장하는 것을 볼 수 있습니다. 또한 2의 계승은 여기에서 첫 번째 항입니다. 따라서 일반 공식은 다음과 같습니다.

TN =((N+1)!)/ 2

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

#include <iostream>
using namespace std;
int calcFact(int n){
if(n == 1){
return 1;
}
return (n*calcFact(n-1));
}
int findNTerm(int N) {
int nthTerm = ( (calcFact(N+1)) /2 );
return nthTerm;
}
int main()
{
int N = 8;
cout<<N<<"th term of the series is "<<findNTerm(N);
return 0;
}

출력:

8th term of the series is 181440