虽然教材上说斐波那契数列用递归来计算效率很低,因为重复计算次数太多,不过如果将结果保存起来,使用记忆化的思想,还是可以使用递归计算斐波那契的
代码如下
public class 斐波那契记忆递归
{
static int n=150;
static int[] mem=new int[n+1];
public static void main(String[] args)
{
//将第一和第二初始化
mem[1]=1;
mem[2]=1;
System.out.println(feibo(n));
}
public static int feibo(int n)
{
if(mem[n]>0)
return mem[n];
mem[n]=feibo(n-1)+feibo(n-2);
return mem[n];
}
}