写一个函数,输入n,求斐波那契数列的第n项。
思路:直接使用递归会重复计算很多次,需要把已经计算到的中间项保存起来,当下次需要计算的时候先查找一下,如果计算过就不用再计算了。
public class Main8 {
public static int Fibnacci(int n){
int result = 0;
int preOne = 0;
int preTwo = 1;
if(n<=0){
return preOne;
}
if(n==1){
return preTwo;
}
for (int i = 2; i < n; i++) {
result = preOne+preTwo;
preOne = preTwo;
preTwo = result;
}
return result;
}
}