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

- 上一篇:c++函数返回值类型由什么决定
- 下一篇:arduino蜂鸣器简易闹钟