当前位置:首页 C++ > 正文

C++实现Fibonacci数列递归及非递归算法

作者:野牛程序员:2023-12-10 19:53:45 C++阅读 2804

C++实现Fibonacci数列递归及非递归算法

Fibonacci数列是一个经典的数学问题,以下是C++中实现Fibonacci数列的递归和非递归算法的代码:

递归算法:

#include <iostream>

int fibonacci_recursive(int n) {
    if (n <= 1) {
        return n;
    } else {
        return fibonacci_recursive(n - 1) + fibonacci_recursive(n - 2);
    }
}

int main() {
    int n = 10;  // 可以替换为想要的Fibonacci数列的长度
    std::cout << "Fibonacci数列前 " << n << " 项(递归):" << std::endl;
    
    for (int i = 0; i < n; ++i) {
        std::cout << fibonacci_recursive(i) << " ";
    }

    return 0;
}

非递归算法:

#include <iostream>

int fibonacci_iterative(int n) {
    if (n <= 1) {
        return n;
    }

    int a = 0, b = 1, next_term;
    for (int i = 2; i <= n; ++i) {
        next_term = a + b;
        a = b;
        b = next_term;
    }

    return b;
}

int main() {
    int n = 10;  // 可以替换为想要的Fibonacci数列的长度
    std::cout << "Fibonacci数列前 " << n << " 项(非递归):" << std::endl;
    
    for (int i = 0; i < n; ++i) {
        std::cout << fibonacci_iterative(i) << " ";
    }

    return 0;
}

这两个程序分别实现了递归和非递归版本的Fibonacci数列生成算法。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击