ในปัญหานี้ เราได้รับจำนวนเต็ม N ภารกิจคือการหาเทอมที่ n ในชุดที่ 9, 33, 73, 129....
มาดูตัวอย่างเพื่อทำความเข้าใจปัญหากัน
อินพุต
N = 4
ผลลัพธ์
129
คำอธิบาย
ซีรีส์ไม่เกินเทอมที่ n คือ 9, 33, 73, 129...
แนวทางการแก้ปัญหา
วิธีแก้ปัญหาอยู่ที่การหาเทอมที่ n ของอนุกรม เราจะหามันด้วยวิธีทางคณิตศาสตร์ จากนั้นจึงนำสูตรคำทั่วไปมาใช้กับโปรแกรมของเรา
ขั้นแรก ให้ลบชุดข้อมูลโดยเลื่อนทีละชุด
Sum = 9 + 33 + 73 + … + t(n-1) + t(n) - Sum = 9 + 33 + 73 + …. + t(n-1) + t(n) 0 = 9 + ((33- 9) + (73 - 33) + … + (tn) - t(n-1)) - t(n) t(n) = 9 + (24 + 40 + 56 + …. ) 24 + 40 + 56 + …. is an A.P. series with common difference 16.
นี่ทำให้คำทั่วไป
เสื้อ(n) =9 + [ ((n-1)/2)*(2*(24) + (n-1-1)*16) ]
$$t(n)=9+[\left(\frac{n-1}{2}\right)*((2*24+(n-2)*16)]$$ $$t(n )=9+[\left(\frac{n-1}{2}\right)*((2*24+(n-2)*8)]$$
เสื้อ(n) =9 + [(n - 1) * ((24) + (n - 2) * 8]
เสื้อ(n) =9 + [(n - 1) * ((24) + 8n - 16]
เสื้อ(n) =9 + [(n - 1) * (8 + 8n]
เสื้อ(n) =9 + 8 * [(n - 1) * (n + 1)]
t(n) =9 + 8 * [n 2 - 1 2 ]
t(n) =9 + 8 * n 2 - 8
t(n) =8 * n 2 +1
โปรแกรมเพื่อแสดงการทำงานของโซลูชันของเรา
ตัวอย่าง
#include <iostream> using namespace std; int findNthTerm(int n) { return (8*n*n) + 1 ; } int main(){ int n = 12; cout<<"The series is 9, 33, 73, 129...\n"; cout<<n<<"th term of the series is "<<findNthTerm(n); return 0; }
ผลลัพธ์
The series is 9, 33, 73, 129... 12th term of the series is 1153