//递归思想求斐波那契数列的第n项
#include <stdio.h>
int fib(int n){
if(n == 1 || n == 2){
return 1;
}
return fib(n - 1) + fib(n - 2);
}
int main(){
int n = 0;
printf("请输入你想求斐波那契数列的第几项:");
scanf("%d", &n);
printf("斐波那契数列第%d项为:%d\n", n, fib(n));
return 0;
}
//非递归思想求斐波那契数列的第n项
#include <stdio.h>
int fib(int n){
int i = 1;
int j = 1;
int count = 3;
int result = 0;
if(n <= 2){
return 1;
}while(count <= n){
result = i + j;
i = j;
j = result;
count++;
}
return result;
}
int main(){
int n;
printf("请输入你想求斐波那契数列的第几项:");
scanf("%d", &n);
fib(n);
printf("斐波那契数列第%d项为:%d\n", n, fib(n));
return 0;
}
递归与非递归思想求斐波那契数列第n项
猜你喜欢
转载自blog.csdn.net/Huwence/article/details/94207210
今日推荐
周排行