Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

โปรแกรม C สร้างลำดับฟีโบนัชชี (Fibonacci)

Fibonacci sequence: F₀=0, F₁=1, Fₙ = Fₙ₋₁ + Fₙ₋₂

ตัวอย่าง n=10

0 1 1 2 3 5 8 13 21 34

สองวิธี

1. Iterative (O(n)) - แนะนำ

void fibonacci(int n) {
    int a = 0, b = 1;
    printf("%d %d ", a, b);
    for (int i = 2; i < n; i++) {
        int c = a + b;
        printf("%d ", c);
        a = b; b = c;
    }
}

2. Recursive (O(2ⁿ)) - ไม่แนะนำสำหรับ n ใหญ่

int fib(int n) {
    return n <= 1 ? n : fib(n-1) + fib(n-2);
}

โค้ดเต็ม (Iterative)

#include <stdio.h>

void fibonacci(int n) {
    int a = 0, b = 1, c;
    printf("Fibonacci(%d): %d %d", n, a, b);
    for (int i = 2; i < n; i++) {
        c = a + b;
        printf(" %d", c);
        a = b; b = c;
    }
    printf("\n");
}

int main() {
    fibonacci(10);
    return 0;
}

ผลลัพธ์

Fibonacci(10): 0 1 1 2 3 5 8 13 21 34