Питон, 108 символов
Python не был создан для этого вызова. Хочешь print
? Это зарезервировано. Ну, а как насчет использования stdout
? Ну, это будет стоить import
... как вы уже догадались, зарезервировано. Ну ... Я на Unix, так что я могу открыть дескриптор файла 1, который является stdout. Hack!
Человек, а итерации? Ничего, кроме eval
. Без циклов, конечно, но мы не можем даже определить функцию с помощью def
или lambda
. И чтобы добавить оскорбление раны, мы не можем даже использовать понимание списка! Я всегда ищу предлог, чтобы использовать такие вещи, как map(p.__mod__,...)
в коде гольф ... понимание всегда лучше. До сих пор это так.
p=1
eval(compile("p+=1;open('/dev/fd/1','w').write('%s '%p*all(map(p.__mod__,range(2,p))));"*720,'','exec'))
Теперь вы можете жаловаться, что exec
это ключевое слово, хотя я не использовал это ключевое слово (я даже не eval
использовал exec
). Ну, вот решение из 117 символов, которое не использует '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)