Esta función encuentra el primer número de Fibonacci mayor a k
#
fib1 <- function(k) {
fib <- c(1, 1)
n <- 2
while (fib[n] <= k) {
n <- n + 1
fib[n] <- fib[n - 1] + fib[n - 2]
}
fib[n]
}
fib1(143)
## [1] 144
Esta función retorna el n-ésimo número de Fibonacci
usando programación recursiva
fib2 <- function(n) {
if (n < 2) {
return(n)
} else {
return(fib2(n - 1) + fib2(n - 2))
}
}
fib2(10)
## [1] 55
fib2(2)
## [1] 1
Imprime los k primeros números de Fibonacci
fib3 <- function(k) {
fib <- c(1, 1)
n <- 2
while (n < k) {
n <- n + 1
fib[n] <- fib[n - 1] + fib[n - 2]
}
fib
}
fib3(10)
## [1] 1 1 2 3 5 8 13 21 34 55
date()
## [1] "Thu Aug 29 10:50:54 2013"