Với các số ‘n’, nhiệm vụ là tạo chuỗi fibonacci cho đến khi bắt đầu từ 0 đến n trong đó chuỗi số nguyên fibonacci có dạng
0, 1, 1, 2, 3, 5, 8, 13, 21, 34
Trong đó, số nguyên 0 và 1 sẽ có khoảng trống cố định, sau đó hai chữ số được thêm vào chẳng hạn,
0+1=1(3rd place) 1+1=2(4th place) 2+1=3(5th place) and So on
Chuỗi F (n) của chuỗi fibonacci sẽ có quan hệ lặp lại được xác định là -
Fn = Fn-1 + Fn-2 Where, F(0)=0 and F(1)=1 are always fixed
Có thể sử dụng nhiều cách tiếp cận để tạo chuỗi fiboacce -
Cách tiếp cận đệ quy - trong điều này, hàm tiếp cận sẽ thực hiện cuộc gọi đến chính nó sau mỗi giá trị số nguyên. Nó đơn giản và dễ thực hiện nhưng nó sẽ dẫn đến sự phức tạp về thời gian theo cấp số nhân khiến cách tiếp cận này không hiệu quả.
Sử dụng For Loop - Bằng cách sử dụng vòng lặp For trong việc tạo chuỗi Fibonacci, độ phức tạp thời gian của chuỗi Fibonacci có thể được giảm xuống còn O (n), điều này làm cho cách tiếp cận này hiệu quả.
Ví dụ
Input-: n=10 Output-: 0 1 1 2 3 5 8 13 21 34
Thuật toán
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
Ví dụ
#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; }
Đầu ra
fibonacci series till 10 is 0 1 1 2 3 5 8 13 21 34