Это нить грабителей этого вызова
Полицейские выберут последовательность OEIS и напишут две полные программы на двух разных языках, которые производят этот n-й элемент в последовательности, когда ему дают n через STDIN. Две программы должны быть анаграммами друг друга, то есть каждая из них может быть переставлена по буквам другой.
Они представят номер OEIS, исходный код и название одного языка, на котором он находится.
Вы должны найти анаграмму представления оригинального полицейского, которая работает на языке, отличном от того, который использует полицейский. Чтобы взломать ответ, вы должны найти только любой язык и программу, которая производит последовательность и представляет собой анаграмму оригинала, а не обязательно ответ, о котором думал полицейский.
Вы можете выводить код символа или включать STDERR в свое решение, но только если коп указал, что их скрытое решение делает это. Десятичный вывод в STDOUT всегда является допустимым треском.
Таким образом, у копов есть стимул сделать все возможное, чтобы найти любой язык, который выполняет задачу, используя их список символов.
счет
Человек с наибольшим количеством трещин будет победителем в этом разделе. Только первая трещина для каждого решения засчитывается в счет.
Лидер Доска
Большое спасибо всем, кто принял участие в этом соревновании.
Вот таблица лидеров в ее нынешнем виде
Place User Score
-----------------------------
1 Adnan 3
1 Kritixi Lithos 3
1 Emigna 3
1 milk 3
5 Steven H. 2
5 Wheat Wizard 2
5 jimmy23013 2
8 ETH Productions 1
8 Dennis 1
8 alleks 1
8 Martin Ender 1
8 Oliver 1
8 Conor O'Brien 1
источник
Ответы:
05AB1E , 38 байт, Loovjo , A000290
Попробуйте онлайн!
Скорее всего, не предполагаемое решение, но оно работает.
объяснение
источник
1.0 is not a number
? Не могли бы вы уточнить?is_number
проверяет, состоит ли только число0-9
. Поскольку.
это не число, оно становится ложным. Функция могла бы использовать более описательное имя :)Джольф, 15 байт, Аднан , A000290
Попробуй это здесь! Определенно не предполагаемое решение, но эй, это работает.
объяснение
источник
05AB1E , 49 байтов, Мастер пшеницы , A000290
На самом деле тот же подход, что и у Эминьи: p.
Объяснение:
Попробуйте онлайн!
источник
05AB1E , 35 байтов, Оливер , A000290
Менты должны прекратить публиковать
n^2
вызовы в Python ...Попробуйте онлайн!
объяснение
источник
2sable , 7 байтов, Kritixi Lithos , A005843
Код:
Объяснение:
Попробуйте онлайн!
источник
Гексагония , 13 байт, Аднан , A002378
Попробуйте онлайн!
Развернутая:
Не на 100% ли это оригинал, потому что верхний левый
\
не используется.Это
<\>
всего лишь зеркала, поэтому программа на самом деле полностью линейна:источник
V , 13 байт, DJMcMayhem , A002275
Попробуйте онлайн!
Это может быть первое решение на языке, который задумал автор.
объяснение
источник
This might be the first solution in the language the author intended.
Пятно на. :)2сабель, Конор О'Брайен , A000290
Попробуйте онлайн!
Я не знаю, как это работает, на самом деле есть только одна программа, которая отвечает требованиям, и я просто грубо вынужден найти язык, на котором она работает.
Просматривая документы, я могу найти объяснение:
источник
Pyth , 26 байтов, Стивен Х. , A023443
Код:
Попробуйте онлайн .
Довольно просто:
источник
Python 3, 118 байт, ETHproductions, A042545
Проверьте это на Ideone .
Представление мента
Чем отличается
Представление полицейского не работает в Python 3 по двум причинам.
Функция ввода Python 2 автоматически обнуляет одну строку ввода, в то время как аналог Python 3 просто возвращает строку в виде строки. Мы можем просто вызвать int, чтобы это исправить.
print
было утверждение в Python 2, но это функция в Python 3. В частности, это означает, что мы должны заключить его аргумент в круглые скобки.Это означает, что нам нужно
int()
и()
, но эти символы не все являются частью комментария. Это означает, что мы должны внести некоторые изменения.Вместо дроби s мы отслеживаем 1 / с .
Инициализация s -
s=1/(801**.5-28)
- делаетсяs=801**.5-28
, сохраняя символы1/()
.Коэффициент [-1] в обновлении a -
int(s)
- становитсяint(1/s)
равным стоимости символов1/
.Обновление s -
s=1/(s-int(s))
- становитсяs=1/s-1//s
, стоит символов1//
, но сохраняет символы(int())
.Сохраненные символы
()(int())
покрывают те, которые нам были необходимы для переноса кода на Python 3, но их получение стоило нам1//
. Мы можем взять//
из комментария, но нам придется сохранить в1
другом месте.Один из способов (единственный?) Для сохранения необходимого
1
- заменить1
в инициализации a на0==0
. Это стоит этих четырех символов, но мы можем взять00
из комментария.Пока у нас есть следующий код.
Чтобы восстановить одну из тех, которые
=
мы теперь «должны», мы можем переписать инициализацию s и a с одним присваиванием:s,a=801**.5-28,[0,0==0]
Кроме того, это экономит a;
и затраты a,
, которые можно добавлять к комментарию и удалять из него.Второе
=
можно сохранить, не сохраняя ввод в переменной, т.е. записываяrange(int(input()))
вместо этого, сохраняя символы вi=
. Мы также используем i после цикла, но i- й элемент a является вторым справа, поэтому мы можем заменитьi
на-2
. По той же причинеa[-2]
в теле цикла можно заменить наi
.Теперь у нас есть перестановка в рабочий код Python 3:
Тем не менее, этот код также работает в Python 2! Один из способов крепления это заменить
print(a[-2])
с(print(a[-2]),)
; у нас есть символы, которые нам нужны в комментарии. Как упоминалось ранее, print - это функция в Python 3, поэтому она создает кортеж ( None ,) . Однако оператор печати Python 2 - это ошибка SyntaxError внутри литерала кортежа.источник
CJam, 39 байтов, молоко , A000007
Попробуй это здесь.
источник
Pyth, 7 байтов, Луис Мендо , A000217
По запросу программа завершает работу с ошибкой после
p
повторного ввода правильного ответа.Попробуйте онлайн здесь !
источник
05AB1E , 12 байтов, tuskiomi , A000012
Попробуйте онлайн!
объяснение
источник
05AB1E , 38 байт, Конор О'Брайен , A000290
Попробуйте онлайн!
объяснение
Это основано на кряке Эминьи здесь .
источник
05AB1E, 27 байтов, boboquack , A000012
Попробуйте онлайн
Как это работает:
источник
CJam, 70 байтов, Shebang , A000217
Попробуй это здесь.
источник
Выпуклый, 75 байтов, boboquack , A004526
Попробуйте онлайн
Как это работает:
источник
Dip , 9 байт, Kritixi Lithos
Определенно не предполагаемый ответ.
Объяснение:
источник
Пип , 6 байтов, DLosc , A000012
Я решил, что сначала попробую esolang ОП ;-)
Попробуйте онлайн.
источник
05AB1E , 25 байтов, Mego , A000583
Код:
Объяснение:
Попробуйте онлайн!
источник
Dip , 8 байтов, Оливер , A000042
объяснение
Самое смешное, что это был намеченный язык! Dip - это esolang, созданный Оливером.
Тестовые случаи и запуск Dip из командной строки
источник
2sable, 14 байтов, Dopapp , A121377
Попробуйте онлайн.
Как это работает (более или менее):
источник
05AB1E , 4 байта, Оливер , A000012
Попробуйте онлайн!
Это последовательность
1
с.Это выводит
1
независимо от того, что вход.источник
Dip , 5 байтов, Оливер , A000012
Последовательность просто печатает
1
независимо от того, что ввод. Ответ Оливера печатает1.0
. Эта программа также печатает1.0
. По-видимому, это и есть предполагаемое решение.объяснение
Альтернативное решение (любезно предоставлено @milk)
Выпуклый , 5 байт
Попробуйте онлайн!
объяснение
источник
"1"
) по каждому[input]
символу (так как ввод - число.