ด้วยตัวเลข 'n' ภารกิจคือการสร้างอนุกรมฟีโบนักชีจนถึงเริ่มต้นจาก 0 ถึง n โดยที่ชุดฟีโบนักชีของจำนวนเต็มอยู่ในรูปแบบ
0, 1, 1, 2, 3, 5, 8, 13, 21, 34
โดยที่จำนวนเต็ม 0 และ 1 จะมีช่องว่างคงที่ หลังจากนั้นให้เพิ่มตัวเลขสองหลัก เช่น
0+1=1(3rd place) 1+1=2(4th place) 2+1=3(5th place) and So on
ลำดับ F(n) ของอนุกรมฟีโบนักชีจะมีความสัมพันธ์แบบวนซ้ำที่กำหนดเป็น −
Fn = Fn-1 + Fn-2 Where, F(0)=0 and F(1)=1 are always fixed
มีหลายวิธีที่สามารถใช้เพื่อสร้างอนุกรม fiboacce -
วิธีการแบบเรียกซ้ำ - ในที่นี้ ฟังก์ชันการเข้าใกล้จะเรียกตัวเองหลังจากทุกค่าจำนวนเต็ม ใช้งานง่ายและสะดวก แต่จะนำไปสู่ความซับซ้อนของเวลาแบบเอ็กซ์โพเนนเชียล ซึ่งทำให้วิธีการนี้ไม่ได้ผล
ใช้สำหรับวนรอบ − ด้วยการใช้ For loop ในการสร้างความซับซ้อนของเวลาของอนุกรมฟีโบนักชีสามารถลดลงเหลือ O(n) ซึ่งทำให้วิธีนี้มีประสิทธิภาพ
ตัวอย่าง
Input-: n=10 Output-: 0 1 1 2 3 5 8 13 21 34
อัลกอริทึม
Start Step 1 -> Declare function for Fibonacci series Void Fibonacci(int n) Declare variables as int a=0,b=1,c,i Print a and b Loop For i=2 and i<n and ++i Set c=a+b Print c Set a=b Set b=c End Step 2 -> In main() Declare int as 10 Call Fibonacci(n) Stop
ตัวอย่าง
#include<stdio.h> void fibonacci(int n){ int a=0,b=1,c,i; printf("fibonacci series till %d is ",n); printf("\n%d %d",a,b);//it will print 0 and 1 for(i=2;i<n;++i) //loop starts from 2 because 0 and 1 are the fixed values that series will take{ c=a+b; printf(" %d",c); a=b; b=c; } } int main(){ int n=10; fibonacci(n); return 0; }
ผลลัพธ์
fibonacci series till 10 is 0 1 1 2 3 5 8 13 21 34