Computer >> Máy Tính >  >> Lập trình >> C ++

Chương trình tìm số hạng thứ N của chuỗi 1, 2, 11, 12, 21… trong C ++

Trong bài toán này, chúng ta được cho một số N. Nhiệm vụ của chúng ta là tạo một chương trình để tìm số hạng thứ N của chuỗi 1, 2, 11, 12, 21… trong C ++.

Mô tả vấn đề

Để tìm số hạng thứ N của chuỗi -

1, 2, 11, 12, 21, 22, 111, 112, .... Nterms

Chúng ta sẽ tìm thuật ngữ chung của chuỗi.

Hãy lấy một ví dụ để hiểu vấn đề,

Đầu vào

N =8

Đầu ra

112

Phương pháp tiếp cận giải pháp

Để suy ra số hạng tổng quát, chúng ta cần quan sát kỹ chuỗi số. Trong loạt bài này, chúng ta có thể thấy rằng chỉ có giá trị 1 và 2. Và mọi thuật ngữ đều là sự thay thế của 1 và 2. Vì vậy, thuật ngữ chung sẽ là,

$$ T _ {(N)} =T _ {(n / 2)} * 10 + 1, \:if \:N \:là \:lẻ. $$

$$ T _ {(N)} =T _ {((n / 2) -1)} * 10 + 2, nếu \:N \:là \:chẵn. $$

Ví dụ

#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;
}

Đầu ra

12Th term of the series is 212