Это нить грабителей. Для нити полицейских, иди сюда .
Вступление
Для этой задачи «Копы / Грабители» полицейские напишут программы, производящие результаты, и переплетут их вместе. Работа грабителя состоит в том, чтобы разбирать программы полицейских для получения желаемых результатов.
Правила грабителя
Грабители попытаются найти различные программы, которые люди публикуют в сообщениях в ветке полицейских (ссылка выше). Если грабитель решает код полицейского, он должен опубликовать отдельные программы и сопоставить их со своими результатами в ответе здесь и сообщить, что они взломали код в ответе полицейского.
счет
Есть два компонента, которые добавляются вместе при оценке взломанной отправки.
- 2 к степени количества различных программ, использованных в ответе полицейского
- Вокруг числа байт в переплетении вниз до ближайшей степени 2.
Например, если грабитель раскололся TIliGoEnR
как существо TIGER
и lion
, то грабитель получает 2 ^ 2 + 8 = 12 очков.
Победителем соревнования грабителей станет человек, набравший наибольшее количество очков по прошествии достаточного времени для участия людей.
(Кто хочет помочь с фрагментом?)
источник
BitShift , 2 ^ 2 + 64 = 68 баллов
нить ментов
печать
! ?
печать
? !
Код
Я добавлю некоторое описание позже (разделить код на части, которые печатают отдельные части)
источник
2^programs + 256/bytes=points
. В этом случае это2^2 + 256/128=6 points
. Я думаю, что это будет отредактировано, потому что, как сейчас, программы с меньшим количеством байтов получают больший бонус для грабителей. Который чувствует себяPHP , 68 баллов
Выход:
Array
Выход:
\^/\]co\[\$
Мне нравится это представление, потому что оно опирается на несколько менее известных функций - можно сказать, недостатки - PHP. PHP позволяет присваивать ссылки на функции переменным, например:
будет делать именно то, что вы ожидаете. Как бы:
... кроме того, что он не делает то, что ты думаешь.
$f = pow
не присваивает ссылку на функцию$f
(это было бы слишком много смысла, верно?), а скорее на строку'pow'
. Подразумевается, что любая строка может использоваться как вызов функции, если она представляет имя определенной функции. Плохой код, ожидающий случиться. Я даже не знаю, почему вы хотите это позволить.Другая ошибка PHP заключается в том, что имена функций и ключевые слова нечувствительны к регистру. Я бы хотел пошутить Итак
echo pow(2, 4)
,ECHO POW(2, 4)
иEcHo PoW(2,4)
все они функционально эквивалентны.Последняя ошибка в витрине заключается в том, что всякий раз, когда массив вводится в виде строки, например, для печати, результатом всегда является удивительно полезная строка
Array
. Найдите минутку, чтобы подумать о том, что кто-то действительно сделал это сознательно.Таким образом, в первой программе @insertusernamehere создает строку
stR_split
, эта строка используется в качестве ссылки на функцию (которая по указанным выше причинам действительно работает), а результат - массив - выводится.источник
Рубин , 68 баллов
Первый:
Во-вторых:
Это вполне естественно вытекает из разработки конца, с
putc
.источник
JavaScript, 68 баллов
Нить ментов
Первая программа
Выход:
ffttff
Вторая программа
Выход:
1010
Переплетение
источник
Ява, 132 балла
Нить ментов
Первая программа:
Вторая программа:
Выход первой программы и вывод
Hell0
второй программыBye!
источник
Javascript , 132 балла
Программа 1
Программа 2
Уф. Это было ужасно
После долгих отладок я обнаружил, что после вызова (части) 2-й программы она больше не запускается. Это потому, что глобальная переменная
f
все еще была назначена. Из-заf
назначения try / catch не удалось выполнитьObject.keys(f)
. Я не знаю, подлый ли это трюк или неумышленный, но это вызвало у меня головную боль.Кроме того, я считаю, что вывод первой программы зависит от платформы.
/../g
удаляет все символы на моем компьютере из-за регулярного выражения,.
означающего любой символ. Спасаясь его/\../g
работ , однако, я надеюсь , что кто - то может пролить больше света на это. Кроме того, мой вывод склонен к ошибкам округления, возможно, какая-то глобальная переменная javascript может изменить это?Выход
Это было проверено на Chrome 46 (мой единственный браузер), Windows 7.
Я надеюсь, что это все еще действительное представление, несмотря на различный вывод
источник
JavaScript (ES6) , 68 баллов
Программа 1
Программа 2
Переплетенные программы
Это было бы намного сложнее, если бы полицейский разорвал на части ключевые слова. ;)
источник
PHP , 24 балла
Программа 1
Программа 2
Программа 3
Протестировано с http://sandbox.onlinephpfunctions.com/ .
источник
Python 2 , 320 баллов
источник