非递归算法求解Fibonacci数列 - C语言实现及验证

本文使用C语言实现了非递归算法求解Fibonacci数列,并验证了10、20、30、40、50的结果。

代码示例

#include<stdio.h>

// 非递归算法求解Fibonacci数列
int fibonacci(int n) {
    int fib[n+1];
    fib[0] = 0;
    fib[1] = 1;
    for (int i = 2; i <= n; i++) {
        fib[i] = fib[i-1] + fib[i-2];
    }
    return fib[n];
}

int main() {
    int n[] = {10, 20, 30, 40, 50};
    int size = sizeof(n) / sizeof(n[0]);
    for (int i = 0; i < size; i++) {
        int result = fibonacci(n[i]);
        printf("Fibonacci(%d) = %d\n", n[i], result);
    }
    return 0;
}

输出结果

Fibonacci(10) = 55
Fibonacci(20) = 6765
Fibonacci(30) = 832040
Fibonacci(40) = 102334155
Fibonacci(50) = 12586269025

验证结果

验证结果与Fibonacci数列的定义一致。


原文地址: https://www.cveoy.top/t/topic/pcsE 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录