题目描述
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)。
n<=39
解题思路
斐波那契数列指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(0)=0,F(1)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 3,n ∈ N*)
代码实现
动规 - PHP
function Fibonacci($n)
{
if ($n == 0 || $n == 1) return $n;
$pre = 0;
$next = 1;
$res = 0;
for ($i = 2; $i <= $n; $i++) {
$res = $pre + $next;
$pre = $next;
$next = $res;
}
return $res;
}
递归法 - PHP
<?php
function Fibonacci($n)
{
if ($n == 0 || $n == 1) return $n;
return Fibonacci($n - 1) + Fibonacci($n + 1);
}
递归法 - Golang
/**
* 递归
*
* @param n int整型
* @return int整型
*/
func Fibonacci( n int ) int {
// 边界值处理
if n == 0 || n == 1 {
return n
}
return Fibonacci(n -1) + Fibonacci(n - 2)
}
还不快抢沙发