Generates Fibonacci numbers.

Fibonacci(n)

Arguments

n

nonnegative integer or vector of nonnegative integers.

Details

Generates the n-th Fibonacci number, whereas Fibonacci(0) = 0.

Value

A single integer, or a vector of integers.

Author

Andri Signorell <andri@signorell.net>

Examples

Fibonacci(0)                            # 1
#> [1] 0
Fibonacci(2)                            # 2
#> [1] 1
Fibonacci(0:3)                          # 0 1 1 2
#> [1] 0 1 1 2


# Golden ratio
F <- Fibonacci(1:25)                    # ... 75025 121393
f25 <- F[25]/F[24]                      #     1.618033989
phi <- (sqrt(5) + 1)/2
abs(f25 - phi)                          # 7.945178e-11
#> [1] 0.0000000002080072

# Fibonacci numbers without iteration
fibo <- function(n) {
  phi <- (sqrt(5) + 1)/2
  fib <- (phi^(n+1) - (1-phi)^(n+1)) / (2*phi - 1)
  round(fib)
}
  
fibo(30:33)                             # 1346269 2178309 3524578 5702887
#> [1] 1346269 2178309 3524578 5702887