Ланцюг для гольфу (нитка копів)


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.

Для Cop посилання на документацію для 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 повинен бути не більше довжини, виявленої Cop.

Умови виграшу

Відповіді, які не були зламані протягом тижня, можуть виявити свої рішення, і тоді вони вважаються безпечними . Зауважте, що якщо ви не виявите своє рішення через тиждень, воно все одно може зламатися. Коп із найкоротшою безпечною відповіддю виграє.



Чи зберігаємо послідовність OEIS в таємниці?
молодшийРубіїст

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

Відповіді:


3

OEIS A000041 , тріщини по ETHproductions

Давайте спробуємо навпаки: golflang генерує не-гольфланг.

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

  • a (n) (0-індексований) повертається функцією JavaScript (ES6)
  • Програма, яка виводить функцію JS, написана на Jelly
  • Довжина програми Jelly - 35 байт

Задумане рішення

Желе: “¦Ṛ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 на стороні Jelly.
Арнольд

@ETHproductions Людина, я повинен був витратити більше часу на оптимізацію коду JS. Ось 31-байтне рішення. ¯ \ _ (ツ) _ / ¯
Арнольд,

2

OEIS A048272 , тріщини по DJMcMayhem

Кількість непарних дільників n мінус кількість парних дільниць n (1-індексований).

  • Програма, яка виводить a (n) , записується в 05AB1E .
  • Програма, яка виводить програму 05AB1E, написана Brain-Flak + -Aпрапор.
  • Довжина програми Brain-Flak - 198 байт (кількість байтів не включає прапор).

Зауважте, що я, напевно, міг би легко перемогти програму Brain-Flak, використовуючи трюки з маніпуляцією стеками та іншими хитрощами складності, які мені відомі, але я хотів зберегти це просто як своє перше подання. Удачі, розбійники!

Що я мав на увазі

05AB1E: ÑÈD<)O(O

Мозок-Flak:(((((((((((()()()){}){}){({}[()])}{}())[((((()()()){}){}())){}{}])((((()()()){}){}())){}{})[((((()()()){}){})()){}{}])(((()()()){})){}{}())(()()()()){})(((((()()()()){}){}){}()){}){})((()()())){}{})



@DJMcMayhem :( Я щойно закінчив
HyperNeutrino

@DJMcMayhem Приємно! Я спробую щось трохи важче далі.
Містер Xcoder

2

OEIS 000035 , тріщини по betseg

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

Дійсно легкий для початківців (якщо ви знаєте Протон: D). Нульова індексація.

Задумане рішення

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


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

3
Чому посилання на A34 ...
користувач202729


@ user202729 зафіксована подяка
HyperNeutrino

@PeterTaylor точно нуля тут достатньо для вас, щоб вирішити це ...
HyperNeutrino


1

OEIS A055642 , тріщини по Лінн

Кількість цифр у десятковому розширенні n

Це, мабуть, занадто просто, але це зайняло у мене час, тому я сподіваюся, що хтось там буде так само розчарований, як і я, коли я нарешті зрозумів це: D

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

Що я мав на увазі:

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



1
@Lynn так. Наскільки ви були розчаровані?
Саймон Клавер

1

OEIS A000668 , тріщини по Лінн

Мерсенна праймес (форми 2 p -1, де p є простим)

  • a (n) виводиться за допомогою повної програми Jelly .
  • n 1-індексований.
  • Програма Jelly друкується програмою « Трикутність », довжина якої - 38 байт .

Інша стратегія: розв’язати послідовність в гольфланг і вивести програму в езоланг.

Задумане рішення


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

1
@Lynn Це стосується підрахунку символів , а не кількості байтів .
Містер Xcoder

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.