Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ค้นหาเทอมที่ n ของอนุกรมที่กำหนด 0, 0, 2, 1, 4, 2, 6, 3, 8, 4... ใน C++


ในปัญหานี้ เราได้รับค่าจำนวนเต็ม 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 ของชุดข้อมูล เราต้องสังเกตชุดข้อมูลอย่างใกล้ชิด เป็นส่วนผสมของชุดข้อมูลสองชุดและพจน์คี่และคู่ของชุดข้อมูล มาดูกันเลย

ที่ตำแหน่งคู่ -

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

ค่าที่ T(n) ถ้า n เป็นคู่ คือ {(n/2) - 1}

ที่ตำแหน่งคี่ −

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

ค่าที่ T(n) ถ้า 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