C语言非递归算法求解斐波那契数列并验证前50项

本文使用非递归算法实现C语言代码求解斐波那契数列,并验证前10、20、30、40、50项的结果,代码清晰易懂,并附带验证结果,方便学习和理解。

代码:

#include <stdio.h>

unsigned long long fibonacci(int n) {
    if (n <= 1) {
        return n;
    }
    
    unsigned long long a = 0;
    unsigned long long b = 1;
    unsigned long long c;
    
    for (int i = 2; i <= n; i++) {
        c = a + b;
        a = b;
        b = c;
    }
    
    return c;
}

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

输出结果:

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

验证结果与斐波那契数列的定义一致。


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

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