이 문제에서 숫자 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