计算斐波那契数列每一项
时间: 2023-11-20 10:54:07 浏览: 89
计算fibonacci数列每一项时所需的递归调用次数
斐波那契数列是一个数列,其中每个数字都是前两个数字的和。计算斐波那契数列的每一项可以使用递归和非递归两种方法。递归方法是通过调用函数本身来计算每一项,而非递归方法则是使用循环来计算每一项的值。在C/C++中,可以使用数组实现加法计算器来计算斐波那契数列的任意一项数值的计算。下面是一个使用递归和非递归方法计算斐波那契数列的示例代码:
```c++
//非递归做法
int Fib(int n) {
int num1 = 1;
int num2 = 1;
int num = 0;
if (n <= 2) {
return 1;
} else if(n > 2){
for (int i = 2; i < n; i++) {
num = num1 + num2;
num1 = num2;
num2 = num;
}
return num;
}
}
//递归做法
int Fib2(int n) {
if (n <= 2) {
return 1;
} else if(n > 2){
return Fib2(n - 1) + Fib2(n - 2);
} else {
printf("输入错误!");
}
}
int main() {
int n;
printf("请输入需计算的斐波那契数列项数:");
scanf("%d", &n);
printf("非递归结果 = %d\n", Fib(n));
printf("递归结果 = %d\n", Fib2(n));
return 0;
}
```
测试数据:Fib(6)
测试结果:8
阅读全文