이 문제에서 정수 값 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