class Fibonacci
{

/**
 * Description:迭代方法获取fibonacci第n项数值
 *
 * @param int $n
 * @return int
 */
public static function fib_interation($n)
{
    $fib = array(); // 定义fibonacci数组

    if ($n < 0) {
        return 0;
    }

    for ($fib[0] = 0, $fib[1] = 1, $i = 2; $i <= $n; $i++) {
        $fib[$i] = $fib[$i - 1] + $fib[$i - 2];
    }

    return $fib[$n];
}

/**
 * Description:递归方法获取fibonacci第n项数值
 *
 * @param int $n
 * @return int
 */
public static function fib_recursive($n)
{
    if ($n <= 0) {
        return 0;
    } elseif ($n == 1) {
        return 1;
    } else {
        return self::fib_recursive($n - 1) + self::fib_recursive($n - 2);
    }
}

}

$fib1 = Fibonacci::fib_interation(5);
echo $fib1 . "\n";

$fib2 = Fibonacci::fib_recursive(5);
echo $fib2 . "\n";

相关文章:

  • 2021-04-27
  • 2022-12-23
  • 2021-05-30
  • 2021-04-09
  • 2022-12-23
  • 2022-01-24
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-05-20
  • 2022-02-22
  • 2021-11-16
  • 2021-12-02
  • 2021-06-15
相关资源
相似解决方案