ในปัญหานี้ เราได้รับค่าจำนวนเต็ม 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