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

C++에서 시리즈 0, 0, 2, 1, 4, 2, 6, 3, 8…의 N번째 항을 찾는 프로그램

<시간/>

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

문제 설명

주어진 급수의 N번째 항을 찾으려면-

0, 0, 2, 1, 4, 2, 6, 3, 8 .... N 용어

시리즈의 일반 용어를 찾을 것입니다.

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

입력

N =8

출력

3

솔루션 접근 방식

급수의 총칭을 찾기 위해서는 급수를 자세히 관찰해야 합니다. 이 시리즈는 2개의 시리즈가 혼합되어 있어 알아보기 조금 어렵습니다. 짝수 위치에 시리즈 1개, 홀수 위치에 시리즈 1개.

홀수 시리즈- 0, 2, 4, 6, 8, 10, 12,....

짝수 시리즈- 0, 1, 2, 3, 4, 5, 6,....

여기,

시리즈의 n번째 항이

인 경우

홀수, 값은 (n-1)입니다.

심지어 값은 $T_{(n-1)}/2$

입니다.

예시

#include
using namespace std;
int findNTerm(int N) {

   if (N % 2 == 0)
      return findNTerm(N-1)/2;
   else {
      return (N-1);
   }
}
int main(){
   int N = 13;
   cout<<N<<"th term of the series is "<<findNTerm(N)<<endl;
}
입니다.

출력

13th term of the series is 12