
无穷数列1,1,2,3,5,8,13,21,34, 55.…称为Fibonacci数列1。它可以递归地定义为

我的答案:
int Fiboncci(int f0)
{
if(f0==0||f0==1)
{
return 1;
}
return Fiboncci(f0-1)+Fiboncci(f0-2);
}正确答案:
int fibonacci(int n)
{
if(n<=1)
{
return 1;
}
return fibonacci(n-1)+fibonacci(n-2);
}其他方法运用下图的公式:

可以得到任意n的阶乘。
反思:
学到了什么?
函数的递归的用处
函数定义时要定义参数
递归函数有时候有两个初始值
犯了什么错误?
忘记函数如何定义
忘记了=和==的区别,前者是赋值后者时相等判断符号
文章讨论了Fibonacci数列的递归定义,指出在实现递归函数时应注意参数定义和递归基的情况。作者反思了忘记函数定义和混淆赋值与相等判断的问题,并提到了使用公式计算的另一种方法。
3万+

被折叠的 条评论
为什么被折叠?



