3votos

Problema de las Olimpiadas rusas en Haskell

por josejuan hace 6 años

También dedicado a isola009, que es muy exigente. Este sí ¿no?, XD XD

Calcular el elemento n-ésimo de la sucesión 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 0, 1, 1, 1, 2, 1, 3, 1, 4, ...

1
digit n = (concat$map show [1..])!!(n-1) 
4 comentarios
0votos

Escrito por isola009 hace 6 años

¡¡¡Ahora sí!!! Muy bueno
3votos

Escrito por jneira hace 6 años

Welcome to the (moad) jungle: siendo List una monada y siendo el operado monadico >>= equivalente a concatMap para List se puede escribir:
digit n =([1..]>>=show)!!(n-1)
0votos

Escrito por josejuan hace 6 años

+10! muy bueno! ¡pero ponla como solución!
0votos

Escrito por jneira hace 6 años

La pongo en clojure que, como casi siempre, es semanticamente igual a la de haskell (sin >>= ya que no esta disponible sin importar ninguna libreria)

Comenta la solución

Tienes que identificarte para poder publicar tu comentario.