0votos

Triangulo de pascal en Ruby

por alberto hace 5 años

Sin recursividad

El triangulo de Pascal consiste en un triangulo de numeros siguiendo las siguientes reglas: - La primera fila es 1 - Cada linea siguiente se calcula sumando los numeros adyacentes de la fila superior y añadiendo un 1 al comienzo y al final de la fila.

1
2
3
4
5
6
7
8
9
def pascal(n) 
  previous = [] 
  (1..n).map {|i| previous = line(i, previous) } 
end 
 
def line(n, previous) 
  return [1] if n == 1 
  ([0] + previous).zip(previous + [0]).map{ |a| a[0] + a[1]} 
end 

Comenta la solución

Tienes que identificarte para poder publicar tu comentario.