Łańcuch golfowy (nić gliniarza)


13

To wyzwanie dla gliniarzy i rabusiów. Przejdź do wątku Rabusiów tutaj .

Gliniarze mają trzy zadania.
1) Wybierz sekwencję z OEIS .

2) Wybierz język (sugeruje się, że jest to golfowy język, ale nie musi tak być), który po wprowadzeniu danych nwyjściowych A(n)(gdzie A(n)jest wybrana sekwencja) przy użyciu wszystkich zwykłych zasad .
Zadzwoń do tego języka L A i kod C A .
Na przykład Jelly i Jelly_code .

3) Następnie wybierz inny język (sugeruje się, że nie jest językiem golfowym, ale nie musi tak być) i napisz kod, który nie przyjmuje danych wejściowych i wyjściowych kodu C A , ponownie przestrzegając wszystkich zwykłych zasad . (Uwaga:. Może to być ukrywane kod i niekoniecznie muszą być grałem, ale im dłużej ten kod jest łatwiej będzie dla złodziei do zgryzienia swojego zgłoszenia)
Zadzwoń ten język L B i kod C B .
Na przykład Python i Python_code .

ZGŁOSZENIE COP na to wyzwanie jest sekwencją (podano czy 0- lub 1 indeksowane), nazwa dwóch języków L A i L B (a który rozwiązuje jaka część), a bajt Ilość C B tylko. Zachowaj tajny kod obu części i długość C A.

W przypadku policjanta mile widziane są łącza do dokumentacji dla L A i L B lub tłumacza (lub łącze TIO, ponieważ obejmuje to oba), ale nie są wymagane.

Wyzwaniem złodziej jest, aby wybrać Cops' wejście i napisać kod C C w tym samym L B języku, który wyprowadza jakiś kod w tym samym L A język, który rozwiązuje zadania OEIS oryginału. Długość C C nie mogą dłużej niż długość być C B jak wykazał COP (chociaż może być krótszy). Uwaga: kod produkowane przez C C ma nie trzeba dopasować C A .

W naszym przykładzie oznacza to, że Robber musi napisać kod Pythona, który generuje kod Jelly, który rozwiązuje oryginalną sekwencję OEIS, i że kod Pythona nie może być dłuższy niż długość ujawniona przez gliniarza.

Warunki wygranej

Odpowiedzi, które nie zostały złamane w ciągu tygodnia, mogą zostać ujawnione, w którym to momencie są uważane za Bezpieczne . Pamiętaj, że jeśli nie ujawnisz swojego rozwiązania po tygodniu, możesz je złamać. Policjant z najkrótszą Bezpieczną odpowiedzią wygrywa.



Czy utrzymujemy sekwencję OEIS w tajemnicy?
juniorRubyist

@juniorRubyist Nie, policjant musi określić, jakiej sekwencji używał i czy ma indeks 0 czy 1.
AdmBorkBork

Odpowiedzi:


3

OEIS A000041 , pęknięty przez ETHproductions

Spróbujmy na odwrót: golflang generuje non-golflang.

a (n) = liczba partycji n (numery partycji).

  • a (n) (indeksowane 0) jest zwracane przez funkcję JavaScript (ES6)
  • Program, który wyprowadza funkcję JS, jest napisany w Jelly
  • Długość programu Jelly wynosi 35 bajtów

Zamierzone rozwiązanie

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

która wytwarza

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


Pęknięty . To było całkiem fajne, chociaż wydaje mi się, że straciłem kilka godzin :-)
ETHproductions

@ETHproductions Nice! Moje rozwiązanie JS używało ograniczonego zakresu znaków, aby można go było skompresować jako liczbę całkowitą base-28 po stronie galaretki.
Arnauld

@ETHproductions Człowieku, powinienem poświęcić więcej czasu na optymalizację kodu JS. Oto 31-bajtowe rozwiązanie. ¯ \ _ (ツ) _ / ¯
Arnauld

2

OEIS A048272 , pęknięty przez DJMcMayhem

Liczba nieparzystych dzielników n minus liczba parzystych dzielników n (indeksowane 1).

  • Program, który wyprowadza a (n), jest napisany w 05AB1E .
  • Program, który wysyła program 05AB1E, jest napisany w Brain-Flak + -Aflaga.
  • Długość programu Brain-Flak wynosi 198 bajtów (liczba bajtów nie obejmuje flagi).

Zauważ, że prawdopodobnie mógłbym z łatwością zagrać w golfa w programie Brain-Flak, używając sztuczek polegających na manipulowaniu stosem i innych sztuczek złożoności kolmogorowa, o których jestem świadomy, ale chciałem zachować prostotę przy pierwszym składaniu. Powodzenia, rabusie!

Co miałem na myśli

05AB1E: ÑÈD<)O(O

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



@DJMcMayhem :( Właśnie skończyłem
HyperNeutrino

@DJMcMayhem Nice! Spróbuję teraz czegoś trudniejszego.
Pan Xcoder,

2

OEIS 000035 , pęknięty przez betsega

Problem rozwiązano w Protonie .
Kod Proton jest wyprowadzany przez Python .
Długość programu Python wynosi 13 bajtów .

Naprawdę łatwy na początek (jeśli znasz Proton: D). Zero indeksowane.

Zamierzone rozwiązanie

Python: print("(2%)")
Proton: (2%)
Chociaż zdecydowałem się n=>n%2być wystarczająco krótki, ponieważ skróty funkcji dyadic / monadic nie są dokumentowane.


7
Naprawdę łatwy, jeśli znasz język, który wydaje się mieć dokładnie zerową dokumentację. Tak, świetnie.
Peter Taylor

3
Dlaczego link do A34 ...
user202729


@ user202729 naprawiono dzięki
HyperNeutrino

@PeterTaylor dokładnie zero jest tutaj wystarczająco dużo, aby go rozwiązać ...
HyperNeutrino


1

OEIS A055642 , pęknięty przez Lynn

Liczba cyfr w rozwinięciu dziesiętnym n

Jest to prawdopodobnie zbyt łatwe, ale zajęło mi to trochę czasu, więc mam nadzieję, że ktoś tam będzie tak samo rozczarowany jak ja, kiedy w końcu to rozgryzłem: D

  • Program wypisujący (n) jest napisany w 05AB1E
  • Program drukujący program 05AB1E jest napisany w TeX- ie
  • Program TeX jest 6 bajtów długo

Co miałem na myśli:

Sgjako kod 05AB1E
Sg\byejako kod TeX



1
@ Lynn tak. Jak bardzo byłeś rozczarowany?
Simon Klaver

1

OEIS A000668 , złamany przez Lynn

Liczby Mersenne (formy 2 p -1, gdzie p jest liczbą pierwszą)

  • a (n) jest generowane przez pełny program Jelly .
  • n ma indeks 1.
  • Program Galaretka jest drukowany przez program Trójkątność , którego długość wynosi 38 bajtów .

Inna strategia: rozwiąż sekwencję w golflang i wypisz program w esolang.

Zamierzone rozwiązanie


Czy jesteś pewien, że długość jest poprawna? Dokumenty mówią, że program Trójkątności musi mieć długość, 2*n^2 - 1która nie może wynosić 38.
Lynn

1
@ Lynn To odnosi się do liczby znaków , a nie liczby bajtów .
Pan Xcoder,

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.