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

시리즈 1, 4, 15, 72, 420의 N번째 항을 찾는 C++ 프로그램…

<시간/>

이 문제에서 정수 N이 주어집니다. 우리의 임무는 시리즈 1, 4, 15, 72, 420…의 N번째 항을 찾는 프로그램을 만드는 것입니다.

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

입력

N = 4

출력

72

솔루션 접근 방식

문제를 해결하는 간단한 방법은 급수의 N번째 항에 대한 공식입니다. 이를 위해서는 급수를 관찰한 후 N번째 항을 일반화해야 합니다.

계열은 계승과 일부 변수의 곱으로 볼 수 있습니다.

1, 4, 15, 72, 420…
1!*(X1), 2!*(X2), 3!*(X3), 4!*(X4), 5!*(X5)...
1*(1), 2*(2), 6*(5/2), 24*(3), 120*(7/2)...

여기서, 제품 시리즈는,

1, 2, 2.5, 3, 3.5…
It is {(n+2)/2}.

따라서 N번째 항의 공식은 다음과 같습니다.

T(N) = ( N! * (N + 2)/ 2 )

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

예시

#include <iostream>
using namespace std;
int calcFactorial(int N) {
   int factorial = 1;
   for (int i = 1; i <= N; i++)
      factorial = factorial * i;
      return factorial;
}
int calcNthTerm(int N) {
   return (calcFactorial(N) * (N + 2) / 2);
}
int main() {
   int N = 7;
   cout<<N<<"th term of the series is "<<calcNthTerm(N);
   return 0;
}

출력

7th term of the series is 22680