Skip to content

Instantly share code, notes, and snippets.

@davidxkr
Created August 14, 2010 15:06
Show Gist options
  • Save davidxkr/524380 to your computer and use it in GitHub Desktop.
Save davidxkr/524380 to your computer and use it in GitHub Desktop.
#Feedback from "El gran pregunton" !!!!
# Es posible que no haya quedado muy claro el problema
# ya que calculas el primer numero triangular que "Acumula" 500 divisores
#
def triangle_num
cont = 0 #Puedes ahorrarte estas cuatro lineas con "Asignación paralela" "cont, n, i, tri = 0, 0, 0, 0"
n = 0
i = 0
tri = 0
until ( cont >= 500 ) # Los paréntesis no siempre son necesarios
n += 1
tri = ( n * ( n + 1 ) / 2)
while ( i <= tri )
i += 1
if ( tri % i == 0 )
cont += 1
break if ( cont == 500 )
next # el "next" es innecesario
end
end
end
puts tri
end
#De acuerdo a tu idea, tu codigo puede ser refactorizado de la siguiente forma
def triangle_num
cont, n, i, tri = 0, 0, 0, 0
until cont >= 500
n += 1
tri = n * ( n + 1 ) / 2
while i <= tri
i += 1
if tri % i == 0
cont += 1
break if cont == 500
end
end
end
puts tri
end
# Sinceramente nos agrada tu participación en el gran pregunton de crowd :D
#Recuerda que es importante aprender Ruby ya que esta es la base de Rails
# Si tuvieses alguna duda, no dudes en preguntar a cualquier miembro del comité
#Como nota final ... Agrega comentarios a tu codigo
# Saludos
# Por cierto ...Le debes al comite unas caguamas y unos Doritos =P
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment