#include<stdio.h>
#include<stdlib.h>
//递归求法
int fib(int n) {
if (n == 1)
return 1;
if (n == 2)
return 1;
return (fib(n - 1) + fib(n - 2));
}
int main() {
printf("%d\n", fib(n));
system("pause");
return 0;
}n
//非递归求法
int Fib(int n){
if (n < 1)
return 0;
else if (n == 1 || n == 2)
return 1;
int res = 1;
int pre = 1;
int temp = 0;
for (int a = 3; a <= n; a++) {
temp = res;
res = pre + res;
pre = temp;
}
return res;
}
int main() {
printf("%d\n", Fib(n));
system("pause");
return 0;
}
C 递归和非递归分别实现求第n个斐波那契数。
本文深入探讨了斐波那契数列的两种实现方式,包括递归方法和非递归方法。递归方法虽然直观但效率较低,而非递归方法则通过迭代实现了更高效的计算。

被折叠的 条评论
为什么被折叠?



