C++实现Fibonacci数列递归及非递归算法
作者:野牛程序员:2023-12-10 19:53:45 C++阅读 2833
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蜂鸣器简易闹钟
