ในปัญหานี้ เราจะได้รับจำนวนเต็ม N ภารกิจคือการหาเทอมที่ n ในซีรีส์ 3, 9, 21, 41, 71...
มาดูตัวอย่างเพื่อทำความเข้าใจปัญหากัน
อินพุต
N = 7
ผลลัพธ์
169
คำอธิบาย
The series is 3, 9, 21, 41, 71, 169...
แนวทางการแก้ปัญหา
วิธีแก้ปัญหาง่ายๆ ก็คือการหาพจน์ทั่วไปของอนุกรมนั้น ศัพท์ทั่วไปหาได้จากการสังเกตอนุกรมวิธานเล็กน้อย มันคือ
$$T(N) =\sum n^{2} + \sum n + 1$$
เราสามารถใช้สูตรสำหรับผลรวมกำลังสองของจำนวนธรรมชาติ n ตัวแรก ตัวแรก n จำนวนธรรมชาติ แล้วบวกค่าทั้งสาม สุดท้ายให้คืนค่าผลลัพธ์
$$T(N)=\left(\frac{n*(n+1)*(2n+1)}{6}\right)+\left(\frac{n*(n+1)}{2 }\right)+1$$
โปรแกรมเพื่อแสดงการทำงานของโซลูชันของเรา
ตัวอย่าง
#include <iostream> using namespace std; int findNthTerm(int n) { return ((((n)*(n + 1)*(2*n + 1)) / 6) + (n * (n + 1) / 2) + 1); } int main() { int N = 12; cout<<"The "<<N<<"th term of the series is "<<findNthTerm(N); return 0; }
ผลลัพธ์
The 12th term of the series is 729