ลำดับฟีโบนักชีเป็นแบบนี้
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55,……
ในลำดับนี้ เทอมที่ n คือผลรวมของ (n-1) th และ (n-2) th เงื่อนไข
ในการสร้างเราสามารถใช้วิธีเรียกซ้ำได้ แต่ในการเขียนโปรแกรมแบบไดนามิก ขั้นตอนจะง่ายกว่า มันสามารถเก็บตัวเลขฟีโบนักชีทั้งหมดในตาราง โดยใช้ตารางนั้น มันสามารถสร้างเงื่อนไขถัดไปในลำดับนี้ได้อย่างง่ายดาย
ป้อนข้อมูล − นำเลขพจน์มาเป็นอินพุต บอกได้เลยว่า 10
ผลผลิต − 10 th fibinacci เทอมคือ 55
อัลกอริทึม
genFiboSeries(n)
ป้อนข้อมูล
จำนวนเงื่อนไขสูงสุด
ผลผลิต
เทอมฟีโบนักชีที่ n
Begin define array named fibo of size n+2 fibo[0] := 0 fibo[1] := 1 for i := 2 to n, do fibo[i] := fibo[i-1] + fibo[i-2] done return fibo[n] End
โค้ดตัวอย่าง
#include<iostream> using namespace std; int genFibonacci(int n) { int fibo[n+2]; //array to store fibonacci values // 0th and 1st number of the series are 0 and 1 fibo[0] = 0; fibo[1] = 1; for (int i = 2; i <= n; i++) { fibo[i] = fibo[i-1] + fibo[i-2]; //generate ith term using previous two terms } return fibo[n]; } int main () { int n; cout << "Enter number of terms: "; cin >>n; cout << n<<" th Fibonacci Terms: "<<genFibonacci(n)<<endl; }
ผลลัพธ์
Enter number of terms: 10 10th Fibonacci Terms: 55