Python, 108 karakter
Bu meydan okuma için Python yapılmadı. İster print
misin? Bu ayrılmış. Peki, kullanmaya ne dersin stdout
? That'sey, bunun bedeli import
... ... tahmin ettin, ayrýldý. Şey ... Ben unix üzerinde, bu yüzden stdout olur dosya tanımlayıcı 1 açabilirim. Hile!
İnsan ve yineleme? Hiçbir şey ama eval
. Döngü yok elbette, def
veya ile bir işlev bile tanımlayamayız lambda
. Ve yaralanmaya hakaret eklemek için liste kavrayışını bile kullanamayız! Her zaman map(p.__mod__,...)
kod golf gibi şeyleri kullanmak için bir bahane ararım ... anlama her zaman daha iyidir. Şimdiye kadar, bu.
p=1
eval(compile("p+=1;open('/dev/fd/1','w').write('%s '%p*all(map(p.__mod__,range(2,p))));"*720,'','exec'))
Şimdi, şikayet olabilir exec
(ben bile değil mi anahtar kelime kullanmak olmamasına rağmen, bir anahtar kelimedir eval
bir exec
). İşte kullanmayan 117 karakterlik bir çözüm '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)