#Quiz 2####
#triangulo de pascal hasta 10
t.p <- function(n){
t = list()
t[[1]] = 1
t[[2]] = c(1,1)
for (i in 3:n) {
t[[i]] = 1
for (j in 2:i) {
v = t[[i-1]][j] + t[[i-1]][j-1]
t[[i]][j] = ifelse(!is.na(v), v, 1)
}
}
return(list(lista = t,
vector = unlist(t)))
}
(fin = t.p(10))
## $lista
## $lista[[1]]
## [1] 1
##
## $lista[[2]]
## [1] 1 1
##
## $lista[[3]]
## [1] 1 2 1
##
## $lista[[4]]
## [1] 1 3 3 1
##
## $lista[[5]]
## [1] 1 4 6 4 1
##
## $lista[[6]]
## [1] 1 5 10 10 5 1
##
## $lista[[7]]
## [1] 1 6 15 20 15 6 1
##
## $lista[[8]]
## [1] 1 7 21 35 35 21 7 1
##
## $lista[[9]]
## [1] 1 8 28 56 70 56 28 8 1
##
## $lista[[10]]
## [1] 1 9 36 84 126 126 84 36 9 1
##
##
## $vector
## [1] 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5
## [18] 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21
## [35] 7 1 1 8 28 56 70 56 28 8 1 1 9 36 84 126 126
## [52] 84 36 9 1
t.p2 <- function(n, ...){
t = list()
tm = matrix(0,n,n)
for (i in 1:n) {
tm[i,1:i] = choose((i-1), 0:(i-1))
t[[i]] = choose((i-1), 0:(i-1))
}
xy = expand.grid(1:n,1:n)
xy$Var1[xy$Var2%%2==0] = xy$Var1[xy$Var2%%2==0]+0.5
plot(xy, type = 'n',
axes=F, ylab='', xlab='',
main = 'Triangulo de Pascal')
n = length(t)
for (i in 1:n) {
text(xy$Var1[(((n*i)-(n-1))+floor((i-1)/2)):((n*i)-floor(i/2))],
xy$Var2[((n*i)-(n-1)):((n*i)-(i-1))],
t[[n+1-i]], ...)
}
return(list(lista = t,
matriz = tm))
}
(fin2 = t.p2(10, cex = 1))

## $lista
## $lista[[1]]
## [1] 1
##
## $lista[[2]]
## [1] 1 1
##
## $lista[[3]]
## [1] 1 2 1
##
## $lista[[4]]
## [1] 1 3 3 1
##
## $lista[[5]]
## [1] 1 4 6 4 1
##
## $lista[[6]]
## [1] 1 5 10 10 5 1
##
## $lista[[7]]
## [1] 1 6 15 20 15 6 1
##
## $lista[[8]]
## [1] 1 7 21 35 35 21 7 1
##
## $lista[[9]]
## [1] 1 8 28 56 70 56 28 8 1
##
## $lista[[10]]
## [1] 1 9 36 84 126 126 84 36 9 1
##
##
## $matriz
## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
## [1,] 1 0 0 0 0 0 0 0 0 0
## [2,] 1 1 0 0 0 0 0 0 0 0
## [3,] 1 2 1 0 0 0 0 0 0 0
## [4,] 1 3 3 1 0 0 0 0 0 0
## [5,] 1 4 6 4 1 0 0 0 0 0
## [6,] 1 5 10 10 5 1 0 0 0 0
## [7,] 1 6 15 20 15 6 1 0 0 0
## [8,] 1 7 21 35 35 21 7 1 0 0
## [9,] 1 8 28 56 70 56 28 8 1 0
## [10,] 1 9 36 84 126 126 84 36 9 1