Ejercicio 1

sumaVectores <- function(x,y){
  if(length(x) != length(y)) 
    return("NULL")
  else
    return(x+y)
}

Ejercicio 2

escoger <- function(n,k){
  #return(factorial(n)/(factorial(n-k)*factorial(k)))
  return(gamma(n+1)/(gamma((n-k)+1)*gamma(k+1)))
}

Ejercicio 3

serLeib <- function(n){
    leib <- c()
    for(i in 0:n)
      leib <- c(leib,(-1)**i/(2*i+1))
    return(sum(leib))
}

Ejercicio 4

serFib <- function(n){
  fib <- c(0,1)
  if(n == 0)
    return(0)
  if(n == 1)
    return(1)
  if(n < 0)
    return("NULL")
  else {
    for(i in 2:n){
      fib <- c(fib,sum(fib[i-1],fib[i]))
    }
    return(fib[n+1])
  }
}

Ejercicio 5

nserFib <- function(n){
  fib <- c(0,1)
  if(n == 0)
    return(0)
  if(n == 1)
    return(fib)
  if(n < 0)
    return("NULL")
  else {
    for(i in 2:n){
      fib <- c(fib,sum(fib[i-1],fib[i]))
    }
    return(fib)
  }
}

Ejercicio 6

contDevNeg <- function(x){
  return(list(x[which(x < 0)],length(x[which(x < 0)])))
}

Ejercicio 7

indexa <- function(x,n){
  return(x[1:n])
}

Ejercicio 8

##unión
unir <- function(x,y){
  unique(c(x,y))
}
#Comparación
unir(c(6,7,8),c(1,2,3,4))
## [1] 6 7 8 1 2 3 4
union(c(6,7,8),c(1,2,3,4))
## [1] 6 7 8 1 2 3 4
##intersección
intersectar <- function(x,y){
  c(x,y)[duplicated(c(x,y))] 
} 
#Comparación
intersectar(c(1,2),c(1,2,3))
## [1] 1 2
intersect(c(1,2),c(1,2,3))
## [1] 1 2
#diferencia
restar <- function(x,y){
  x[-c(c(x,y)[duplicated(c(x,y))])] 
}
#Comparación
restar(c(1,2,3), c(1,2))
## [1] 3
setdiff(c(1,2,3), c(1,2))
## [1] 3
#igualdad
igualar <- function(x,y){
  all(length(x) == length(x)) && all(x == y) 
}
#Comparación
igualar(c(1,2,3),c(1,2,3))
## [1] TRUE
setequal(c(1,2,3),c(1,2,3))
## [1] TRUE