viernes, 11 de mayo de 2012

Desafio El problema de Siracusa

En el blog de http://www.programando.org realizaron un desafió, el cual es realizar un algoritmo bien especifico, este algorimo se llama El problema de Siracusa.
La cosa es que participaron bastantes desarrollodores  con códigos realmente brillantes.La idea era realizarlo en la menor cantidad de lineas, los resultados y ganadores están aqui.

Bueno la cosa es que yo no participe, por la verdad no me encuentro a un nivel como para poder participar, pero igual le hice empeño pero fuera de competencia, como ya muchos saben me gusta mucho Python, pero no soy un gran de desarrollador. Aquí les dejo mi "programita" en python que hace lo solicitado en el desafio.
def foo(num):
 print num
 if (num!=1):
  if (num%2==0):
   foo(num/2)
  else:
   foo(num*3+1)
Como me dijo Daniel Molina en este Tweet no es una solución completa ya que tiene if y no uso programación funcional ni nada, pero la verdad es que quede bastante contento al hacer el ejercicio usando un poco de recursividad, ocupando pocas lineas, que sea completamente legible por todos(por que la legibilidad si cuenta y mucho),

Como resumen, insisto no soy un desarrollador brillante muy por el contrario solo me entretengo mucho programando y cada día mas me gusta desarrollar (aunque cada vez lo hago menos :( )

--
Atte.
Victor Hugo Saavedra
http://vhspiceros.blogspot.com

No hay comentarios:

Publicar un comentario