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

Tìm số hạng thứ n của dãy đã cho 0, 0, 2, 1, 4, 2, 6, 3, 8, 4… trong C ++

Trong bài toán này, chúng ta được cho một giá trị nguyên N. Nhiệm vụ của chúng ta là Tìm số hạng thứ n của chuỗi đã cho -

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

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

Input − N = 6
Output − 2

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

Để tìm số hạng thứ N của dãy, chúng ta cần quan sát kĩ dãy số. Nó là hỗn hợp của hai chuỗi và các số hạng lẻ và chẵn của chuỗi. Hãy xem từng người trong số họ,

Ở các vị trí chẵn -

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

Giá trị tại T (n) nếu n chẵn là {(n / 2) - 1}

Tại các vị trí Lẻ -

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

Giá trị tại T (n) nếu n chẵn là {n - 1}

Ví dụ

Chương trình minh họa hoạt động của giải pháp của chúng tôi

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

Đầu ra

45th term of the series is 44