递归求二阶Fibonacci
描述
Fibonacci数列从第3项开始,每一项都等于前两项之和
F(1)=1, F(2)=1, F(n)=F(n-1) + F(n-2) (n>2)
#include <stdio.h>
#include <stdlib.h>
/*
TODO: 利用递归求二阶Fibonacci数列第n位的值
描述: 1. 先判断n是否为0,是则直接返回0即可
2. 再判断n是否为1,是则直接返回1即可
3. 其他情况下,可以返回Fib(n-1)和Fib(n-2)的和即可
*/
int Fib(int n){
//TODO
int result = 0;
if(n == 0){
result = 0;
}else if(n == 1){
result = 1;
}else if(n == 2){
result = 1;
}else{
return Fib(n-1)+Fib(n-2);
}
return result;
}
int main(){
int n;
printf("请输入所求元素位置: \n");
scanf("%d", &n);
printf("斐波那契数列第%d位的值为%d", n, Fib(n));
return 0;
}