Задача: Пусть ваша программа случайным образом выберет одну из следующих двух цитат во время выполнения и напечатает эту одну цитату, точно так, как показано.
1:
Under the spreading chestnut tree
I sold you and you sold me.
There lie they, and here lie we
Under the spreading chestnut tree.
2:
WAR IS PEACE.
FREEDOM IS SLAVERY.
IGNORANCE IS STRENGTH.
Ограничения: Слова spreading
, chestnut
, PEACE
, FREEDOM
, и STRENGTH
должны появиться в вашем коде. Никакие слова из приведенных выше двух кавычек не могут появляться в вашем коде более одного раза .
Самое короткое решение побеждает.
Ответы:
PHP 179
Вдохновлен ответом es1024 .
источник
Perl (
191184 символа)Спасибо @ core1024 за советы по игре в гольф.
источник
"you"
и использовать их$$&1
в качестве генератора случайных чисел :)Ява, 338
Я не могу получить это ниже 338 ...
Немного разгульный
источник
java.io.PrintStream p=System.out
Всего добавлено 15 байт,static<T>void p(T o){System.out.print(o);}
добавлено 12). Любые другие предложения?Javascript 229
254 256Отредактируйте 1, используя
new Date
как предложено @Doorknob - мне все еще неясно, как javascript Dates превращается в строки или целые числа или что-то ещеРедактировать 2 упрощенно. Много.
источник
new Date
корочеDate.now()
Date
преобразование: > Дата JavaScript основана на значении времени, которое составляет миллисекунды с полуночи 01 января 1970 года по Гринвичу. День держит 86 400 000 миллисекунд. Диапазон объектов JavaScript Date составляет от -100 000 000 дней до 100 000 000 дней относительно 01 января 1970 года UTC. , когда вы&
это автоматически приведете кNumber
. Таким образом, вы делаете случайный выбор, основываясь на четной или нечетной миллисекунде с начала1970-01-01T00:00:00.000Z
эпохи.C #
(268) (260)(256)Это исполняемый файл в LINQPad, используя
Dump()
метод:Ungolfed:
Обновить:
Используя троичный оператор и 1 дополнительную переменную, я смог вырезать еще 6 символов:
Ungolfed:
Update2:
Благодаря гениальному предложению
tsavinho
я смог сэкономить еще 4 символа, разместив фигурные скобки вокруг троичной операции:Ungolfed:
источник
Питон 3 - 228
Слегка разгульный
источник
PowerShell 205
Использует
-f
оператор для помещения строк в первую кавычку, а вторая присоединяетсяIS
, после чего он выбирает случайный элемент из этих 2 кавычек и печатает его ...источник
JavaScript / JQuery 396
источник
T-SQL,
337327Ради интереса, я разработал еще одно решение на T-SQL, которое на один байт короче моего решения на Java 8:
Объявляя
char
s слишком длинным, вы можете добавить «автоматический» пробел, сэкономив несколько байтов.Используя код в предложенном редактировании пользователем PenutReaper, вы действительно можете сбрить 10 байтов.
источник
Java Script (233)
Написал это, не глядя на другие ответы. Хорошо использует назначения в качестве выражений.
источник
05AB1E , 119 байт
Попробуйте онлайн!
источник
Python 3 , 222 байта
Попробуйте онлайн!
источник
C (gcc) ,
307289271270 байтов-37 байт благодаря функциюcatcat
Попробуйте онлайн!
источник