二楼的,其实不是很准确,因为斐波那契数列是1、1、2、3、5、8、13、21
当n=2时,斐波那契数列对应的是1。如果按照二楼的算法,当n=2时,fibo(2)=2,与数列不符。
修改后的代码如下:
public class F {
public static void main(String[] args)
{
for (int i=1; i<30;i++ )
{
System.out.println("f("+i+")="+fibo(i));
}
}
static int fibo(int n)
{
if(n==1 || n == 2)
{
return 1;
}
else
{
return fibo(n-1)+fibo(n-2);
}
}
}
|