Это задача полицейских и грабителей . Нить грабителей здесь .
Интересный вопрос для размышления:
Если у меня есть последовательность чисел, сколько из них я должен предоставить, прежде чем станет ясно, о какой последовательности я говорю?
Например, если я хочу поговорить о натуральных числах в порядке, начиная с , я мог бы сказать 1 , 2 , 3 , … , но достаточно ли этого?
У меня есть один способ ответить на этот вопрос, и, будучи игроком в код, это подразумевает игру в гольф. Вы предоставили достаточно терминов последовательности, если самый короткий код, который создает эти термины, создает все термины последовательности. Если мы подумаем об этом с точки зрения кода-гольфа, это будет означать, что вы предоставили достаточно тестовых примеров, чтобы самый короткий код, который проходит тестовые задачи, выполнял желаемую задачу.
Вызов
Эта задача - проблема полицейских и грабителей . В котором полицейские будут представлять контрольные примеры, а грабителям придется искать более короткий способ подделки контрольных примеров, помимо предполагаемой последовательности. Копы представят следующие вещи:
Кусок кода, который принимает неотрицательное целое число в качестве входных данных и производит целое число в качестве выходных данных. Этот код будет определять вашу последовательность. Ваш код не должен поддерживать 0 в качестве входных данных, вместо этого выберите 1 как наименьший вход. Должно быть понятно, так ли это в вашем ответе.
Любые соответствующие требования платформы или языка, которые могут повлиять на вывод, например, размер longint.
Число вместе с первыми n членами последовательности, рассчитанной по коду. Они будут действовать как «тест-кейсы».
Вам рекомендуется объяснить, что делает ваша последовательность, и связать OEIS, если она существует, однако именно ваш код определяет последовательность, а не описание.
Грабители найдут программу на том же языке, который короче представленного и пройдет все тестовые случаи (выдает тот же вывод для первых входов, что и код полицейского). Код грабителя должен также отличаться в выходных данных от программы полицейского на некоторое число больше, чем n .
Копы должны иметь возможность взломать свои собственные ответы перед их отправкой.
Через неделю полицейский может раскрыть свой взлом и пометить ответ как безопасный. Ответы, помеченные как таковые, больше не могут быть взломаны.
счет
Ответы копов будут оцениваться по количеству байтов, причем меньшее количество байтов будет лучше. Треснутые ответы приносят бесконечную оценку.
источник
Ответы:
cQuents , 4 байта ( взломанные )
Попробуйте онлайн!
Вот восемь (
n=8
) случаев:Объяснение кода:
Таким образом, последовательность состоит в том
1,2,3,4,5 ...
, что она объединяется , и""
становится такой12345 ...
,::
что означает, что она печатает до ввода.источник
Python 3 ,
6657 байт ( треснувший )взломанный xnor
также взломанный Cat Wizard перед редактированием
Попробуйте онлайн!
Здравствуйте! Вот последовательность для взлома для . Это дает эти первые 40 элементов с 0-индексацией, это не последовательность OEISn=40
источник
Python 2 , 44 байта ( взломан )
Попробуйте онлайн!
Простые числа. Какая последовательность может быть чище? Или более перестарались ? Ваша цель состоит в том, чтобы произвести первые 50 простых чисел для
n=1
кn=50
.Код является генератором теорем Вильсона, скопированным именно из этого совета .
Различные значения для альтернативной последовательности не связаны с машинными ограничениями, такими как переполнение и точность. Нет сторонних библиотек.
Трещины на Arnauld, @PoonLevi, и г - н Xcoder.
источник
Wolfram Language (Mathematica) ,
3934 байта (безопасный)Попробуйте онлайн!
Выглядит просто, решение должно быть сложным.
1-индексированный и . Эта последовательность недоступна в OEIS.n = 99
Этот список выше равен:
Вот шаблон для проверки вашего решения: попробуйте онлайн!
Преднамеренная трещина
источник
Haskell , 29 байт (треснуло: 1 , 2 )
Попробуйте онлайн!
Это A093005 :a ( n ) = n ⌈ n2⌉ .
Тестовые случаи для , то есть :0 ≤ n ≤ 20
map a [0..20]
Предполагаемое решение (20 байтов)
Попробуйте онлайн! Отличается при , при a ( 23 ) = 276 и b ( 23 ) = 253n = 23 а ( 23 ) = 276 б ( 23 ) = 253 .
Эта функция эквивалентна . Благодаря потолку обе функции перекрываются для целочисленных аргументов в диапазоне от 0 до 22 :b ( n ) = n l e n ( 3 N) = n ⌈ l o g10( 1 + 3N) ⌉ 0 22
источник
источник
JavaScript (ES6), 12 байт ( взломан )
Это довольно просто.
Попробуйте онлайн!
Это A139275 :
Ваш код должен поддерживать :0 ≤ n < 9
И согласно правилам испытания, это должно отклониться вне.
источник
n=>8*n*n+n
отличаетсяn=94906273
, это действительная трещина?n=9
, хотя.|
вместо+
)Malbolge, 10 байт
Обратите внимание, что код заканчивается байтом 0x14 (управление устройством 4).
Попробуйте онлайн!
0-индексированной последовательности , чтобы трещины
[9, 19, 29]
.источник
> <> , 276 байт ( треснувший )
Попробуйте онлайн! Вызовите его,
-v n
чтобы получить n-й элемент (1-индексированный)Попробуйте онлайн! Позвоните,
-v n
чтобы получить список из n-1 элементов, начиная с 1Онлайн переводчик рыбы
Длинный и сложный, это OEIS A004000 .
источник
n
(как того требует вопрос)?Желе , 6 байт , безопасно!
Это определяет последовательность с нулевым индексом , где:
Как таковые первые шестнадцать значенийa ( 0 ) ⋯ a ( 15 ) являются
1,1,1,2,2,3,4,5,6,7,8,9,10,11,12,13
Попробуйте онлайн! ( здесь версия с одним значением)
Это не в настоящее время в OEIS (хотя A34138 будет работать как трещина, если достаточно короткая)
Преднамеренная трещина
источник
JavaScript, 26 байт ( взломан )
OEIS A007660
Выводятся первые 6 элементов с индексированием 0 (1,1,2,3,7,22)
(несколько смещено от того, что OEIS перечислило как)
Просто создаю простой, чтобы решить ответ, чтобы начать вещи
Попробуйте онлайн!
источник
JavaScript, 16 байт ( взломан )
Первые 5 элементов OEIS149 (⌊ еN⌋ )
Требуемые входные данные для соответствия 0,1,2,3,4.
Попробуйте онлайн!
источник
APL (Dyalog Unicode) ,
1715 байтПопробуйте онлайн!
Первые 13 терминов (на основе 1):
Подсказка. Предполагаемое решение использует одну из наименее используемых встроенных функций.
источник
Шелуха , 5 байт ( треснул от Jonathan Allan )
Этот A000030 смещен на16 :
Попробуйте онлайн!
Последовательность 0-индексирована, вывод для0 ≤ n < 23 :
объяснение
Решение
источник
JavaScript, 25 байт ( взломан 21 байт)
Последовательность 7,11,12,13,13, за которой следуют бесконечные 14 с.
Предполагаемое решение 22 байта:
Попробуйте онлайн!
источник
JavaScript, 22 байта ( взломан )
Это индексировано 0, и требуется точность до ввода 15. Его нельзя найти в OEIS.
Мое решение 20 байт
Попробуйте онлайн!
источник
> <> , 42 байта, трещины
Попробуйте онлайн!
Последовательность взлома (0-индексированная):
101786, 5844, 19902
(не в OEIS).Предполагаемое решение , для справки.
источник
4
Perl 6 , 53 байта
Попробуйте онлайн!
Анонимный кодовый блок, который возвращает 0-индексированную последовательность Колакоски ( OEIS A000002 ). Решения должны соответствовать первым 130 элементам, так что для некоторых
n > 129
он отличается от последовательности Колакоски.источник
Паскаль (FPC) , 86 байт ( взломан )
Попробуйте онлайн!
Последовательность должна быть равна доn = 120 , Последовательность от входа 0 до входа 120
Мое оригинальное решение было
но r_64 сделал это еще лучше !
источник