斐波那契数列
题目描述
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。
n<=39
public class Solution {
/*斐波纳切数列1,1,2,3,5,8,13,21,34,……
解题思路:循环*/
public int Fibonacci(int n) {
int prepreNum=1;
int preNum=1;
int result=0;
/*n<=0*/
if(n<=0){
return 0;
}
/*n=1或2*/
if(n==1|n==2){
return 1;
}
/*n>=3*/
for(int i=3;i<=n;i++){
result=preNum+prepreNum;
prepreNum=preNum;
preNum=result;
}
return result;
}
}
优化后
public class Solution {
/*斐波纳切数列1,1,2,3,5,8,13,21,34,……
解题思路:循环*/
public int Fibonacci(int n) {
if(n<=0){
return 0;
}else if(n==1|n==2){
return 1;
}else{
return Fibonacci(n-1)+Fibonacci(n-2);
}
}
}
网友评论