Цепочка для гольфа (Cops 'Thread)


13

Это вызов копов и грабителей. Для нити грабителей, иди сюда .

У ментов есть три задачи.
1) Выберите последовательность из OEIS .

2) Выберите язык (предполагается, что это поле для гольфа, но не обязательно), который при заданном вводе nвыводит A(n)(где A(n)выбрана последовательность), используя все обычные правила .
Назовите этот язык L A и код C A .
Например, Jelly и Jelly_code .

3) Затем выберите другой язык (предполагается, что это не язык для гольфа, но не обязательно) и напишите код, который не требует ввода и вывода кода C A , снова следуя всем обычным правилам . (Примечание. Это может быть запутывание кода и не обязательно должны быть golfed, но чем дольше этот код, тем легче будет для грабителей взломать ваше представление)
Назовите этот язык L B и код C B .
Например, Python и Python_code .

Подчинение полицейского этому вызову представляет собой последовательность (указанную с индексированием 0 или 1), название двух языков L A и L B (и какой из них решает, какая часть) и счетчик байтов только C B. Сохраняйте действительный код обеих частей и длину C A в секрете.

Для полицейского, ссылки на документацию для L A и L B , или переводчик (или ссылка TIO, поскольку она включает в себя и то, и другое) приветствуются, но не обязательны.

Задача грабителя состоит в том, чтобы выбрать запись Cops и написать код C C на том же языке L B, который выводит некоторый код на том же языке L A, который решает исходную задачу OEIS. Длина C C не может быть больше, чем длина C B, как показывает полицейский (хотя может быть и короче). Примечание: Код производства C C вовсе не обязательно должен соответствовать C A .

Для нашего примера это означает, что грабитель должен написать код Python, который выводит код Jelly, который решает исходную последовательность OEIS, и что код Python должен быть не длиннее, чем длина, указанная копом.

Условия выигрыша

Ответы, которые не были взломаны в течение недели, могут раскрыть свои решения, и в этот момент они считаются безопасными . Обратите внимание, что если вы не обнаружите свое решение через неделю, оно все равно может быть взломано. Коп с кратчайшим ответом Safe выигрывает.



Мы держим в секрете последовательность OEIS?
JuniorRubyist

@juniorRubyist Нет, полицейский должен указать, какую последовательность он использовал, и индексирован ли он по 0 или 1.
AdmBorkBork

Ответы:


3

OEIS A000041 , трещины по ETHproductions

Давайте попробуем наоборот: golflang генерирует не Golflang.

a (n) = количество разделов n (номера разделов).

  • a (n) (0-indexed) возвращается функцией JavaScript (ES6)
  • Программа, которая выводит функцию JS, написана на Jelly
  • Длина программы Jelly составляет 35 байт.

Предполагаемое решение

Jelly: “¦ṚoIwƭ- ḊFæSḂ¥¶Ẉ|ḊJƓƝʋnrB⁾’b28+40Ọ

который выводит

JS:C=(A,B=A)=>A<0?0:A?B?C(A,B-1)+C(A-B,B):0:1


Трещины . Это было довольно весело, хотя я, кажется, потерял пару часов :-)
ETHproductions

@ETHproductions Отлично! В моем решении JS использовался ограниченный диапазон символов, чтобы его можно было сжать как целое число-28 на стороне желе.
Арно

@ETHproductions Человек, я должен был потратить больше времени на оптимизацию кода JS. Вот 31-байтовое решение. ¯ \ _ (ツ) _ / ¯
Арно

2

OEIS A048272 , трещины по DJMcMayhem

Количество нечетных делителей n минус количество четных делителей n (1-индексированное).

  • Программа, которая выводит (n) , написана на 05AB1E .
  • Программа, которая выводит программу 05AB1E, написана на Brain-Flak + -Aфлаг.
  • Длина программы Brain-Flak составляет 198 байтов (количество байтов не входит флаг).

Обратите внимание, что я, вероятно, мог бы легко сыграть в программу Brain-Flak, используя приемы манипулирования стеками и другие приемы сложности колмогоров, которые мне известны, но я хотел оставить это простым в качестве своей первой заявки. Удачи, грабители!

Что я имел в виду

05AB1E: ÑÈD<)O(O

Brain-Flak:(((((((((((()()()){}){}){({}[()])}{}())[((((()()()){}){}())){}{}])((((()()()){}){}())){}{})[((((()()()){}){})()){}{}])(((()()()){})){}{}())(()()()()){})(((((()()()()){}){}){}()){}){})((()()())){}{})



@DJMcMayhem :( Я только что закончил
HyperNeutrino

@DJMcMayhem Отлично! Я попробую что-то немного сложнее дальше.
г-н Xcoder

2

OEIS 000035 , трещины по betseg

Проблема решена в Proton .
Код Протона выводится Python .
Длина программы Python 13 байт .

Действительно легкий для начинающих (если вы знаете, Протон: D). Zero-индексироваться.

Предполагаемое решение

Python: print("(2%)")
Proton: (2%)
хотя я решил позволить n=>n%2быть достаточно коротким, потому что не задокументированы сочетания клавиш для двоичных / монадических функций.


7
Действительно простой, если вы знаете язык, который, кажется, имеет абсолютно нулевую документацию. Да, отлично.
Питер Тейлор

3
Почему ссылка на A34 ...
user202729


@ user202729 исправлено спасибо
HyperNeutrino

@PeterTaylor точно ноль, здесь достаточно, чтобы вы могли его решить ...
HyperNeutrino


1

OEIS A055642, cracked by Lynn

Number of digits in decimal expansion of n

This is probably too easy, but it took me a while so I hope someone out there will be just as disappointed as I was when I finally figured it out :D

  • Программа, которая записывает (n) , написана в 05AB1E
  • Программа, которая печатает программу 05AB1E, написана на TeX
  • Программа TeX имеет длину 6 байт

Что я имел в виду:

Sgкак код 05AB1E
Sg\byeкак код TeX



1
@ Линн да. Насколько вы были разочарованы?
Саймон Клэйвер

1

OEIS A000668 , трещины по Линн

Простые числа Мерсенна (формы 2 p -1, где p простое число)

  • a (n) выводится полной программой Jelly .
  • N 1 индексируется.
  • Программа Jelly печатается программой Triangleity , длина которой составляет 38 байт .

Другая стратегия: решите последовательность в гольфе и выведите программу в esolang.

Предполагаемое решение


Вы уверены, что длина верна? В документах говорится, что программа «Треугольность» должна иметь длину, 2*n^2 - 1которая не может быть 38.
Линн

1
@Lynn That refers to character count, not byte count.
Mr. Xcoder

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.