public static int Foo(int i)
{
if (i <= 0)
return 0;
else if (i <= 2)
return 1;
else
{
return Foo(i - 1) + Foo(i - 2);
}
}请问这个算法要怎么理解,它的执行过程是怎么样的呢?为什么Foo(6)等于8呢?
{
if (i <= 0)
return 0;
else if (i <= 2)
return 1;
else
{
return Foo(i - 1) + Foo(i - 2);
}
}请问这个算法要怎么理解,它的执行过程是怎么样的呢?为什么Foo(6)等于8呢?
就是从第三个数开始,每个数都等于前两个数之和
所以上面是个递归算法,前两个数都是1,第三个数开始每个数都等于前两个数之和即=Foo(n-1)+Foo(n-2)
第6个可不是8吗,Foo(6)=8