/**
 * 使用循环的方式
 * 0 1 1 2 3 5 8 13 21
 */
function fib1($n)
{
    $arr = [0, 1, 1];
    for ($i = 3; $i <= $n; $i++) {
        $arr[$i] = $arr[$i - 1] + $arr[$i - 2];
    }
    return $arr[$n];
}

方式二:递归的方式

/**
 * 使用递归的方式
 */
function fib2($n)
{
    if ($n == 0) {
        return 0;
    }
    if ($n == 1 || $n == 2) {
        return 1;
    }
    return fib2($n - 1) + fib2($n - 2);
}

 

相关文章:

  • 2021-12-08
  • 2022-12-23
  • 2021-08-19
  • 2021-11-09
  • 2021-10-02
  • 2022-01-21
  • 2021-10-10
猜你喜欢
  • 2021-06-09
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案