Python, 108 caracteres
Python no fue hecho para este desafío. Quieres print
? Eso es reservado Bueno, ¿qué tal si usamos stdout
? Bueno, eso va a costar un import
... lo has adivinado, reservado. Bueno ... estoy en Unix, así que puedo abrir el descriptor de archivo 1, que resulta ser stdout. ¡Cortar a tajos!
¿Hombre e iteración? Nada más eval
. Sin bucles, por supuesto, pero ni siquiera podemos definir una función con def
o lambda
. Y para agregar insulto a la lesión, ¡ni siquiera podemos usar la comprensión de la lista! Siempre busco una excusa para usar cosas como map(p.__mod__,...)
en el golf de código ... la comprensión siempre es mejor. Hasta ahora, eso es.
p=1
eval(compile("p+=1;open('/dev/fd/1','w').write('%s '%p*all(map(p.__mod__,range(2,p))));"*720,'','exec'))
Ahora, puede quejarse de que exec
es una palabra clave, a pesar de que no usé la palabra clave (ni siquiera eval
una exec
). Bueno, aquí hay una solución de 117 caracteres que no usa 'exec'
.
p=2
s="eval('('+s*(p<720)+')',open('/dev/fd/1','w').write('%s '%p*all(map(p.__mod__,range(2,p)))),{'p':p+1})";eval(s)