In this problem, we are given a number N. Our task is to create a program to find N-th term of series 1, 2, 11, 12, 21… in C++.
To find the Nth term of the series −
1, 2, 11, 12, 21, 22, 111, 112, .... Nterms
We will find the general term of the series.
Let’s take an example to understand the problem,
N = 8
112
To derive the general term, we need to closely observe the series. In this series, we can see that there are only 1’s and 2’s in the value. And every term is an alternation of 1 and 2. So, the general term will be,
$$T_{(N)}=T_{(n/2)}*10 + 1,\:if\:N\:is\:odd.$$
$$T_{(N)}= T_{((n/2)-1)}*10 + 2, if\:N\:is\:even.$$
#include <iostream> using namespace std; int findNTerm(int N) { if(N == 1) return 1; if(N == 2) return 2; int value; if(N%2 == 0){ value = (findNTerm((N/2)-1)*10) + 2; } else value = (findNTerm((N/2))*10) + 1; return value; } int main() { int N = 12; cout<<N<<"Th term of the series is "<<findNTerm(N); return 0; }
12Th term of the series is 212