Это нить полицейских. Нить грабителей идет сюда .
Последний поток полицейских и грабителей был уже 4 месяца назад .
Задача полицейского
- Задача полицейского - написать программу / функцию, которая принимает положительное (или неотрицательное) целое число и выводит / возвращает другое целое число.
- Полицейский должен заявить это, если программа нетерпима к нулю.
- Полицейский предоставит как минимум 2 образца ввода / вывода.
- Например, если я решил написать последовательность Фибоначчи , я написал бы это в своем ответе:
a (0) возвращает 0 а (3) возвращает 2
- Количество примеров зависит от усмотрения полицейского.
- Тем не менее, последовательность должна фактически существовать в онлайн-энциклопедии целочисленных последовательностей® , так что вам не нужен генератор псевдослучайных чисел.
:(
- Полицейский может скрыть столько персонажей, сколько пожелает.
- Например, если моя программа:
function a(n)
if n>2 then
return n
else
return a(n-1) + a(n-2)
end
end
- Тогда я бы спрятал эти символы так, как хочу:
function a(n)
if ### then
########
else
######################
end
end
Задача грабителя
- Очевидно, чтобы найти оригинальный исходный код.
- Однако любой предложенный исходный код, который производит тот же набор выходных данных, также считается действительным, если он также найден в OEIS.
Советы для полицейских
Функция поиска в OEIS работает только для последовательных терминов, поэтому, если вы хотите скрыть свою последовательность, просто оставьте дыру в любом месте.- Видимо, нет способа скрыть последовательность. Помните это, когда вы выбираете последовательность.
Ваша оценка - это количество байтов в вашем коде.
Победителем станет представление с самым низким счетом, которое не было взломано в течение 7 дней.
Только заявки, опубликованные в апреле 2016 года, имеют право на победу. Материалы, которые размещены позже, приветствуются, но не могут выиграть.
Чтобы претендовать на выигрыш, вам необходимо раскрыть полный код и последовательность OEIS (через 7 дней).
Ваш пост должен быть отформатирован следующим образом (NN - количество символов):
Луа, 98 байт
Выход:
a(0) returns 0
a(3) returns 2
Код ( #
помечает нераскрытые символы):
function a(n)
if ### then
########
else
######################
end
end
Если код взломан, вставьте [Cracked](link to cracker)
в шапку. Если отправка безопасна, вставьте «Safe» в заголовок и покажите полный код в вашем ответе. Только ответы, которые раскрыли полный код, будут иметь право на выигрыш.
источник
_
, fyia(1000)
? (которая является частью последовательности, но слишком большой для поиска в OEIS)Ответы:
Vim, 36 нажатий клавиш - безопасно!
(Примечание:
<n>
где вы вводите данные)Вот код, не связанный с генерацией чисел:
Это значит, что я раскрываю 5 из 19 символов.
<n>
это вход. Вот несколько примеров выходных данных:Ответ
Этот код печатает номера Лукаса ( A000032 ), которые похожи на последовательность Фибоначчи, за исключением того, что она начинается
2, 1
вместо1, 1
. Вот первые 15 номеров:Вот раскрытый код:
Объяснение:
Объяснение макроса:
Теперь нам просто нужно удалить второе число, так как первое число - это номер lucas, который мы хотим. Итак, мы делаем
Также, если я не ошибаюсь, это первая безопасная подача! Это круто.
источник
bD
в конце выдается только одно число и дополнительный пробел.05AB1E , 5 байт, безопасный
Последний на сегодня: с. Выход:
Код:
Запутанные символы обозначены
_
. Попробуйте онлайн! -ссылка. Использует CP-1252 кодировку .Решение:
Объяснение:
Попробуйте онлайн! или попробуйте для всех тестовых случаев! ,
источник
g°<¹-
но я не могу придумать, как использоватьm
этот размер! D:Элемент , 7 байт, трещины
Выход:
Это
#
скрытые символы, и все они для печати ASCII. Я думаю, что это на самом деле довольно сложно (всего 5 пропущенных символов).Для удобства вот попробуй онлайн и вики-версия Esolang страницы .
Моя оригинальная программа была:
Хитрость в том, что
источник
}
вместо]
?}
Правильно, и моя программа (насколько я знаю) работает в каждой версии Element.Джольф , 5 байт, трещины
Выход:
Все это очень важно, и я показал 1 из 5.
Оригинальный код:
Попробуйте онлайн!
источник
JavaScript (ES7), 10 байт, взломан
Выход
Код
Проверьте это в Firefox по ночам.Код является анонимной функцией. Это, вероятно, будет легко, поскольку спрятано всего три символа, но, по крайней мере, оно короткое! :П
Мой оригинальный код был:
но после грубого применения собственного кода для решения, я вскоре понял,
также может быть использован. Это работает, потому что
источник
**
это равносильно томуMath.pow
, что я провел некоторое собственное тестирование и даже использовал грубую силу. Это довольно сложно взломать!05AB1E, 4 байта ( треснутый )
Образец вывода:
И для кода:
Я показал последний. Хотя должно быть достаточно легко, мне было довольно трудно найти последовательность :(
Все скрытые символы доступны для печати.
источник
MATL , 5 байт, трещины
Скрытые символы обозначены
%
.Выход:
Ввод
0
действителен.Оригинальный код:
то есть,
источник
SWIFT, 55 байт, треснувший
*
отмечает скрытого персонажаВыход:
Функция принимает
0
источник
Рубин, 46 байтов, безопасный
Изменить, чтобы добавить отказ от ответственности / извинения: эта последовательность начинается с f [0], а запись OEIS начинается с f [1]. Значения одинаковы.
Запутанный код (
#
это любой символ):Звоните как
Выход:
Решение:
Последовательность:
Объяснение:
источник
05AB1E , 3 байта, трещины
Выход:
Скрытый код:
Попробуйте онлайн, может пригодиться.
источник
Гексагония , 7 байт, трещины
Выход:
Скрытый код:
Или в качестве альтернативы:
Попробуйте онлайн, может пригодиться.
источник
0
?PHP, 41 байт, взломан
Да, наконец-то еще один вызов копов и грабителей. Надеюсь, я не успокоился.
Выход
Источник
Заметки
Трещины
Я очевидно сделал это легко и предоставил недостаточно примеров. Последовательность, которую я имел в виду, была A010054 :
Вот мой оригинальный исходный код:
Он проверяет, является ли вход треугольным числом и выводит
1
или0
соответственно.источник
Jolf, 11 байт, Cracked , A011551
Оригинальный код:
Примеры:
источник
MATL, 9 байт, трещины
Код:
Выход:
a(0)
действует.Трещины
Исходная последовательность: A059563
Оригинальный код:
источник
Java, 479 байт, треснувший
Выходы:
(Входные данные предоставляются через аргументы командной строки)
Код (
#
отмечает скрытые символы):Программа начинается с индекса 0.
(Обратите внимание, что SE заменяет все
\t
отступы четырьмя пробелами, в результате чего общее количество байт до 569. Нажмите здесь, чтобы увидеть программу с\t
отступами вместо пробелов.)Оригинальный код:
(Тот же код, но в обычном формате):
источник
i
до}
? И, пожалуйста, укажите 0-допуск.a(9)
иa(19)
илиa(8)
иa(18)
, в соответствии с какой версией этого на OEIS вы взяли?Октава, 34 байта, трещины
Выходы:
Последовательность начинается
ans(1)
в OEIS.источник
C, 71 байт взломан
Выход:
Это работает с gcc и является полной программой. Он принимает 0 в качестве ввода.
источник
Pyth, 70 байт, треснувший
#
скрытые персонажиБыл взломан, так что вот версия без скрытых символов:
Пример выходов:
Удачи, чтобы найти это на OEIS, лично я не смог найти это на тех примерах (даже если последовательность довольно легко определить).источник
Рубин, 38 байт, трещины
Запутанный код (
#
может быть любым символом):Выход:
Умножает ввод на 10 (A008592). Работает для любого целого числа, включая 0. Например
источник
05AB1E , 5 байт, трещины
Выход:
Запутанный код:
Попробуйте онлайн! -ссылка.
источник
05AB1E , 4 байта, трещины
Ну, тогда я думаю, что я зависим от CnR ... Запутанный код (
_
указывает на подстановочный знак ):Последовательность:
Последовательность в OEIS начинается с (1) = 2.
Попробуйте онлайн! -ссылка
источник
Lua, 45 байт, трещины
Небольшая подсказка:
Выход
Код
Использует,
#
чтобы скрыть код :).Я использовал OEIS A007814 со следующим кодом:
источник
Пайк , 15 байт, БЕЗОПАСНЫЙ
Выход
Раскрытый код:
Решение:
источник
C, 82 байта, безопасно
Работает с gcc, и это полная программа, которая читает входные данные из stdin и выводит их в stdout. Здесь последовательность
A004526, этаж (n / 2).Решение:
Это работает только на машинах с прямым порядком байтов и только если размер
char
составляет 1 байт.И только если байт, превышающий байт самого высокого порядка,
a
имеет значение 0. Я думаю, что это верно для gcc, поскольку по умолчанию неинициализированные глобальные переменные идут в сегмент bss, а инициализированные глобальные переменные идут в сегмент данных (см. Https: // stackoverflow.com/questions/8721475/if-a-global-variable-is-initialized-to-0-will-it-go-to-bss ).Таким образом, только
a
идет в bss (единственная другая глобальная переменнаяb
инициализируется и, таким образом, входит в сегмент данных). Если значениеa
не находится в конце bss, то байт, более высокий, чем байт самого высокого порядкаa
, также находится в bss и, таким образом, имеет значение 0.источник
05AB1E, 1 байт, треснувший
_
обозначает скрытый код.источник
Элемент , 10 байт, трещины
Выход:
Вероятно, есть только несколько способов вычислить эту последовательность в элементе. Я нашел решение с 9 символами, но я подумал, что это решение с 10 символами на самом деле сложнее. Это
#
скрытые персонажи.Для удобства, вот вики- страницы Try It Online и Esolang .
Оригинал был
источник
Pyth , 18 байт
#
отмечает нераскрытых персонажей.Выходы (начинается с
1
):Онлайн переводчик
источник
05AB1E , 5 байтов,трещины
Я надеюсь, что это представление не так просто, как мои другие: с. Выходы:
Запутанный код:
Содержит некоторые не-ASCII символы, хотя и использует кодировку CP-1252 .
Попробуйте онлайн! может пригодиться: с.
источник
Джольф , 11 байт, Cracked .
Выход:
И частично скрытый код:
Подсказка:
Взломанная версия не совсем совпадает с моим исходным кодом. Я сейчас не за компьютером, поэтому у меня его нет точно, но это было что-то вроде этого:
(Единственная часть, в которой я не уверен -
!m
это то, что проверяет, равна ли переменная нулю.)источник
Пайк , 6 байт, треснувший
Выход:
Это не работает с N <1
Оригинальное решение:
источник