提示:学以致用。 这道题练习递归
一、题目
斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:
F(0) = 0,F(1) = 1
F(n) = F(n - 1) + F(n - 2),其中 n > 1
给定 n ,请计算 F(n) 。
来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/fibonacci-number
二、示例
三、代码
public int Fib(int n)
{
if (n==0)
{
return 0;
}
if (n == 1)
{
return 1;
}
return Fib(n - 1) + Fib(n - 2);
}
总结
so easy,就像题目,和标题一样
就这么简单,没想到吧。
斐波那契数,是递归实现,调用自己。
这是最标准的递归的核心内容。
把它先当成一个简单的,正常的函数写。
Fib(4) = Fib(3) + Fib(2)
Fib(n) = Fib(n - 1) + Fib(n - 2);
当前等式就是这样不是吗,
写完这个再考虑结束条件,
因为结束条件永远是递归必备的。
if (n==0)
{
return 0;
}
if (n == 1)
{
return 1;
}
这个条件就是根据题目来的。
这个简单的问题就结束了。
没了解递归的,就要自己走走流程,了解了解返回值了。