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

C++에서 주어진 시리즈 0, 0, 2, 1, 4, 2, 6, 3, 8, 4…의 n번째 항 찾기

<시간/>

이 문제에서 정수 값 N이 주어집니다. 우리의 임무는 주어진 급수의 n번째 항을 찾는 것입니다 -

0, 0, 2, 1, 4, 2, 6, 3, 8, 4, 10, 5, 12, 6, 14, 7, 16, 8, 18, 9, 20, 10…

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

Input − N = 6
Output − 2

솔루션 접근 방식

급수의 N번째 항을 찾으려면 급수를 자세히 관찰해야 합니다. 2개의 급수와 급수의 홀수항과 짝수항을 혼합한 것입니다. 각각을 살펴보겠습니다.

짝수 위치에서 -

  • T(2) =0
  • T(4) =1
  • T(6) =2
  • T(8) =3
  • T(10) =4

n이 짝수인 경우 T(n)에서의 값은 {(n/2) - 1}

홀수 위치에서 -

  • T(1) =0
  • T(3) =2
  • T(5) =4
  • T(7) =6
  • T(9) =4

n이 짝수인 경우 T(n)에서의 값은 {n - 1}

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

#include <iostream>
using namespace std;
bool isEven(int n){
   if(n % 2 == 0)
      return true;
   return false;
}
int findNthTerm(int n){
if (isEven(n))
      return ((n/ 2) - 1);
   else
      return (n - 1);
}
int main(){
   int N = 45;
   cout<<N<<"th term of the series is "<<findNthTerm(N);
   return 0;
}

출력

45th term of the series is 44