MathPHP\Sequence\Advanced::lucasNumber PHP Метод

lucasNumber() публичный статический Метод

Similar to Fibonacci numbers except the base cases differ. https://en.wikipedia.org/wiki/Lucas_number L₀ = 2 L₁ = 1 Lᵢ = Lᵢ₋₁ + Lᵢ₋₂ Example: n = 6 Sequence: 2, 1, 3, 4, 7, 11 Array index: 0, 1, 2, 3, 4, 5
public static lucasNumber ( integer $n ) : array
$n integer How many numbers in the sequence
Результат array Indexed from 0
    public static function lucasNumber(int $n) : array
    {
        $lucas = [];
        // Bad input; return empty list
        if ($n <= 0) {
            return $lucas;
        }
        // Base case (n = 1): L₀ = 2
        $lucas[] = 2;
        if ($n === 1) {
            return $lucas;
        }
        // Base case (n = 2): , L₀ = 2L₁ = 1
        $lucas[] = 1;
        if ($n === 2) {
            return $lucas;
        }
        // Standard iterative case: Lᵢ = Lᵢ₋₁ + Lᵢ₋₂
        for ($i = 2; $i < $n; $i++) {
            $lucas[$i] = $lucas[$i - 1] + $lucas[$i - 2];
        }
        return $lucas;
    }