Skip to content

Instantly share code, notes, and snippets.

@ZephiroRB
Created September 18, 2018 17:22
Show Gist options
  • Save ZephiroRB/a281a822b793c7c85510109ad6f08d87 to your computer and use it in GitHub Desktop.
Save ZephiroRB/a281a822b793c7c85510109ad6f08d87 to your computer and use it in GitHub Desktop.
Encuestra los numeros
#!/usr/bin/ruby
arreglo = [3,4,9,20, 8, 1, 7, 12, 15, 11, 5, 9, 6, 16, 10, 2]
def encontrar_numeros(numero, arreglo)
partes = arreglo.each_slice(4).to_a
encontrados = []
nivel_encontrado = nil
index_encontrado = 0
partes.each_with_index do |parte, index|
if parte.include?(numero)
nivel_encontrado = index
index_encontrado = parte.index(numero)
atras = index_encontrado - 1
adelante = index_encontrado + 1
encontrados << parte[atras] if !(atras < 0)
encontrados << parte[adelante] if !parte[adelante].nil?
end
end
nivel_arriba = nivel_encontrado - 1
encontrados << partes[nivel_arriba][index_encontrado] if !(nivel_arriba < 0)
nivel_abajo = nivel_encontrado + 1
if !partes[nivel_abajo].nil?
if !partes[nivel_abajo][index_encontrado].nil?
encontrados << partes[nivel_abajo][index_encontrado]
end
end
encontrados
end
puts encontrar_numeros(10, arreglo).inspect
#[16, 2, 5]
puts encontrar_numeros(2, arreglo).inspect
#[10, 9]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment