#29 No lo creo... xD
Mi aportacion, en Erlang
https://gist.github.com/4694814
Enlazo tambien a un interprete online, por eso de facilitar la validacion :-)
http://ideone.com/VQTb2E
Sigue habiendo un día y pico para los rezagados xD Fecha en #2 (miércoles 6 a las 23:59)
En cuanto acabe subo, no sufráis.
La más corta que he conseguido en CoffeeScript:
v = "1234567890"
n = v.length/4
l = Math.ceil n+1
s = ~~n-1
o = [v[...l]]
o.push v[l+l+s..][s-i] + Array(l-1).join(' ') + v[l...l+s][i-1] for i in [1..s]
o.push v[l+s...l+l+s].split('').reverse().join ''
console.log o.join '\n'
Y la versión para Nerdobot CoffeeScript (va por ti Code07):
!coff ((v)->n=v.length/4;l=Math.ceil n+1;s=~~n-1;o=[v[...l]];o.push v[l+l+s..][s-i] + Array(l-1).join(' ') + v[l...l+s][i-1] for i in [1..s];o.push v[l+s...l+l+s].split('').reverse().join '';o) "0123456789"
Para ver el equivalente JS y ejecutar: http://goo.gl/sPlCU
Bueno señores ya solo quedan 23 horas para clausurar así que vayan preparando las manitas.
Sois 22 usuarios con el hilo en favoritos. ¡Estiráos un poco, que son gratix!
EDIT:
En #38 he optado por ir a codegolf, pero la verdad ni JS puro ni CoffeeScript se prestan para ello. No hay mucha magia que comentar,
#42 y aquí el plugin con el código más limpito https://gist.github.com/alvaro-cuesta/4722062 Te habrás quedado contento, ¿no? xD
Aprovecho para comentaros a todos que andamos por #mv.nerd en QuakeNET. Entre otras tonterías a veces se habla de las katas.
Resultados kata: RECTÁNGULOS DE TEXTO
Bueno, pues estoy bastante contento con esta primera kata, ha participado un huevo de gente, buen curro a todos Eso sí... ¡han faltado manitas! Para la próxima espero votaciones masivas, ¿eh? Que estáis 24 en favoritos.
¿Algún comentario? ¿Se ha hecho larga/corta la semana? ¿Os parece bien el sistema de puntuación o amplío el rango?
Bueno, al lío, los resultados a las 23:59 para la 1º kata (rectángulos de texto, #2):
Ya tenemos los primeros nombres en el ranking, y con esto queda cerrada la primera kata. Calentad las manos porque en unos minutos subo kata nueva.
#49 estás de suerte, porque empieza ya mismo:
KATA: Interpreta Brainfuck
Para salirnos algo del tema ASCII, un poco de máquinas de Turing: Interpreta Brainfuck (en español). Brainfuck es un lenguaje esotérico de sólo 8 instrucciones, pensado para... bueno, brain-fuck. Sin embargo es un lenguaje Turing-completo, es decir, implementa la funcionalidad (mínima xD) de una máquina de Turing, es decir, teóricamente se podría implementar cualquier otro lenguaje Turing-completo en Brainfuck (si tienes lo que hay que tener).
Código recomendado para pruebas:
http://esoteric.sange.fi/brainfuck/bf-source/prog/PRIME.BF Toma un número en ASCII (acabado en \n) de la entrada estándar y muestra números primos (en ASCII) hasta ese número.
Más gracias a ItNaS ( #63 ) :
Más código:
- http://progopedia.com/example/factorial/18/
- http://esoteric.sange.fi/brainfuck/bf-source/prog/fibonacci.txt
Reglas
El objetivo es hacer un parser e intérprete de Brainfuck completamente funcional, es decir, debéis implementar (como mínimo, se permiten dialectos) las 8 instrucciones oficiales. No os asustéis, es más fácil de lo que parece.
El programa tiene que leer (1) código Brainfuck y (2) entrada estándar. Este debe (3) mostrar la salida correspondiente a su ejecución.
El código debe interpretar AL MENOS los siguientes caracteres (el resto de caracteres en el código serán ignorados):
-
+ incrementa la celda actual
-
- decrementa la celda actual
-
> desplaza una celda a la derecha
-
< desplaza una celda a la izquierda
-
, lee un byte de la entrada estándar y lo almacena en la celda actual
-
. escribe el valor de la celda actual en la salida estándar
-
[ si el valor de la celda actual es 0, salta al ] correpondiente
-
] si el valor de la celda actual es MAYOR que 0, salta al [ correspondiente
Entrega
-
Todo programa posteado se debe acompañar de AL MENOS una screenshot de la salida de PRIME.bf para la entrada '20\n' (números primos hasta 20). Si se enlaza a intérprete online, no hace falta subir ninguna imagen.
-
El recomendable medir el tiempo que tarda en calcular los primos hasta 20 para poder comparar el rendimiento de las soluciones.
-
La kata acabará el miércoles 13 de febrero a las 23:59 y se publicará una nueva kata inmediatamente, con la misma duración.
-
Esto no es una regla, es un consejo: si os buscáis un intérprete online (mirad http://www.ideone.com pero hay mil alternativas) la gente lo valora porque puede ver si vuestro código funciona sin apenas esfuerzo.
#52 Jaja, no he dicho que asusta, digo que te has complicado un rato más, más o menos ya tengo la estructura en mi cerebro, pero de ahí a que funcione hay un paso xDD, voy a dormir mañana en clase lo hago.
#50 pero la kata en que consiste, ¿en leer el post 10 veces y seguir sin entender qué broma es esta? xD
Yo estoy de exámenes y no pude ni revisar lo de la otra semana. A ver si cuando acabe me pongo al día (aunque no entre en el concurso).
Lo tengo hecho en matlab pero no se como colgarlo en ideo para que funcione. voy a probar a ver
#58 http://en.wikipedia.org/wiki/Stack_%28abstract_data_type%29
Cuando te encuentras un "[" guardas la posicion en el stack.
Cuando te encuentras un "]" el top del stack es la llave correspondiente.