To wyzwanie ma dwa wątki. To jest wątek gliniarzy. Wątek rabusiów znajduje się tutaj .
Wyzwanie polega na wybraniu sekwencji OEIS i napisaniu dwóch pełnych programów w dwóch różnych językach, które produkują ten n-ty element w sekwencji, gdy otrzyma n przez STDIN lub inne formy standardowego wejścia, gdzie n jest dowolną liczbą dodatnią. Jednak twoje dwa programy muszą być anagramami, co oznacza, że każdy z nich można zmienić na podstawie liter drugiego.
Programy muszą wypisać dziesiętną liczbę, a następnie opcjonalne białe znaki do STDOUT. Programy mogą wyświetlać dane wyjściowe do STDERR, jednak należy je zignorować, a jeśli ukryta sprawa to zrobi, należy wyraźnie stwierdzić, że tak jest.
Jeśli chcesz, możesz także generować kod znakowy. Jeśli jednak zrobisz to w swoim ukrytym rozwiązaniu, musisz to podać w treści swojego zgłoszenia.
Następnie podasz numer OEIS, kod źródłowy i nazwę jednego języka, w którym się znajduje.
Rabusie złamią twoje zgłoszenie, jeśli znajdą anagram oryginalnego zgłoszenia, który działa w języku innym niż ten, który już przedstawiłeś. Do zgryzienia odpowiedź muszą tylko znaleźć dowolny język i program, który generuje sekwencję i to anagram od oryginału, niekoniecznie odebrać można było myśleć o.
W związku z tym zachęcasz się do jak najtrudniejszego znalezienia języka, który wykona zadanie, korzystając z ich listy symboli.
Punktacja
To jest golf golfowy, więc zwycięzcą jest najkrótszy niezakłócony program.
Języki
Języki zostaną uznane za różne, jeśli dwa proponowane rozwiązania nie zakończą zadania w obu językach. Obejmuje to różne wersje tego samego języka, o ile ani rozwiązanie policjanta, ani rozwiązanie rabusia nie wygenerują poprawnych danych wyjściowych w języku drugiego.
tzn. jeśli istnieją dwa rozwiązania 1 i 2, które są odpowiednio w języku A i B, rozwiązanie 2 nie może generować poprawnych danych wyjściowych w języku A, a rozwiązanie 1 nie może generować poprawnych danych wyjściowych w języku B.
Bezpieczeństwo
Po tym, jak Twoje zgłoszenie nie zostanie spakowane przez tydzień, możesz opublikować swoje rozwiązanie i uznać swój post za bezpieczny. Jeśli po tygodniu zdecydujesz się nie publikować rozwiązania, Twoja odpowiedź może być nadal łamana.
źródło
Odpowiedzi:
Python 2, 118 bajtów, A042545PękniętyNie chciałem implementować trywialnej sekwencji, więc zdecydowałem się na mój identyfikator użytkownika PPCG. Najpierw napisałem to w innym języku, co powinno dać ci wskazówkę co do tego języka, choć założę się o 100 dolarów, że zostanie to złamane w golfowym języku, zanim zostanie złamane w zamierzonym innym języku.
Uwaga: Z powodu błędów precyzji zmiennoprzecinkowej jest to dokładne tylko do wartości wejściowej wynoszącej 14. Planowane rozwiązanie jest takie samo.
Zamierzone rozwiązanie, JavaScript (ES7)
Działa w prawie taki sam sposób jak rozwiązanie Pythona, chociaż sekwencja jest przechowywana jako pierwsza, a nie najpierw, ponieważ JS nie obsługuje indeksowania ujemnego.
źródło
16
to w rzeczywistości 53000053, ale po tym zdaje się, że nie ma żadnych pasujących terminów. Zastanawiam się, dlaczego ...|()
ale po prostu nie mogłem ich zdobyć!Brain-Flak, 24 bajty, A000290 , Bezpieczny
Jeszcze jedno kwadratowe rozwiązanie. Tym razem nie ma nic oprócz nawiasów
Zamierzonym rozwiązaniem było Brain-Flueue , wersja flakingu mózgu, w którym zamiast stosów używa się kolejek. Program był:
Języki są uważane za odrębne, ponieważ żaden z dwóch programów nie zatrzymuje się, gdy są uruchamiane w innym języku.
źródło
((([{}{}{]]}[)))((){))(}
Python 2, 38 bajtów, A000290Pęknięty przez EmignęPrawdopodobnie będzie to bardzo łatwe do złamania. Przeważnie publikuję to jako punkt wyjścia.
Podstawowe rozwiązanie w CJam:
źródło
CJam , 7 bajtów, A005843Pęknięty!To jest podstawowa
2*n
sekwencja.Wyjaśnienie:
Wypróbuj online!
Oryginalne rozwiązanie, marchew
Marchew jest stworzonym przeze mnie esolangiem. Dawno temu przestałem go rozwijać. Wybrałem to dlatego, że miałem nadzieję, że innym językom będzie trudno skomentować niepotrzebne części kodu.
Wyjaśnienie:
Wypróbuj online!
źródło
ri#e^*2
działałby w galaretce, gdyby*
mnożenie zamiast potęgowania. Tak blisko ...r
pyta. Ekscytujące zobaczyć oryginalny kod tego.2sable , 15 bajtów, A000290, pęknięty!Wskakując na ten sam pociąg n 2 : str.
Wypróbuj online!
źródło
Brain-Flak, 44 bajty, A000290PękniętyWypróbuj online!
Oryginalne rozwiązanie, Python 2
źródło
len
set
input
iprint
(i ponieważ wiem, że lubisz pytona), ale nie mogę zrozumieć, w jaki sposób toExcel, 12 bajtów, A000012PękniętyMoże nie najtrudniejszy, ale fajny do zgryzienia.
źródło
Python 2, 25 bajtów, A000583 , pęknięty
Program kończy pracę z błędem po wydrukowaniu wyniku.
Mój ukryty kod (znacznie różni się od pękniętego rozwiązania!):
Właściwie 25 bajtów
Wypróbuj online!
Wyjaśnienie:
źródło
Python, 118 bajtów, A042545 , Bezpieczny
Tym razem działa zarówno w 2, jak i 3. I nie ma komentarzy! Co zrobisz?
Uwaga: Podobnie jak w przypadku starego rozwiązania, traci on precyzję po pierwszych 15 wyrazach z powodu błędów arytmetycznych zmiennoprzecinkowych.
Zamierzone rozwiązanie, JavaScript (ES6)
Chociaż zachowałem kilka starych wersji, jakoś udało mi się zgubić tę kopię, ale na szczęście złożenie jej razem z innymi nie było zbyt trudne. Widzę teraz, że miałem obce
prt
programy w obu programach, które można było rozegrać. No cóż.źródło
Python 2, 124 bajty, A144945 , [Bezpieczny]
Złamanie tego przyniosłoby ci nagrodę w wysokości 500 powtórzeń! Za późno!
Mam nadzieję, że nie jest to zbyt łatwe. Ustawiłem swój kod, aby białe znaki były wyraźnie widoczne. Są to tylko spacje i znaki nowej linii.
Uwaga: zamierzone rozwiązanie jest generowane za pomocą kodu znakowego
Wypróbuj online
Zamierzone rozwiązanie, Zagłówki :
Jest to równoważne z następującym programem BF:
źródło
Fuzzy Octo Guacamole, 26 bajtów, A070627 [Bezpieczny]
Przypadki testowe:
Rozwiązanie:
Działa w Magistack.
źródło
Pyth, 75 bajtów, A004526Pęknięty, mlekoBardziej zabawny test niż cokolwiek innego, ale:
Wypróbuj online!
Roztwór mleka (wypukły):
Wypróbuj online
Zamierzone rozwiązanie (///):
Wypróbuj online
Pobiera dane wejściowe w postaci 2 przed ostatnim średnikiem i wyświetla prawidłową liczbę Q.
Sekwencja jest indeksowana 0 (tzn. 0 to 0, 1 to 0, 2 to 1, ...)
Znaleziono niewielkie błędy składniowe w ///, więc edytowałem wszystkie rozwiązania.
źródło
MATL, 7 bajtów, A000217 , pęknięty
Sekwencja jest
n(n+1)/2
(Liczba trójkątna), począwszy od wejścian=1
w sposób określony przez wyzwanie:1
,3
,6
,10
, ... (wyjście na wejście0
nie jest gwarantowana być taka sama w obu programów).Program w innym języku kończy się z błędem (po wygenerowaniu poprawnego wyjścia w STDOUT).
Wypróbuj online!
źródło
x:ps{}1
Python 2, 37 bajtów, A000290Pękniętyźródło
Python 3, 27 bajtów, A000012, PękniętyTym razem brak danych wejściowych!
Wcięcia są tabulatorami, ale nie do zapisywania bajtów - są one wymagane do białych znaków.
Nie sądzę, że potrzebuje linku do TIO lub wyjaśnienia!
(Prawdopodobnie w jakiś sposób nie zajmie to długo)
Zamierzona odpowiedź (białe znaki):
(Początek i koniec nie jest częścią programu)
Przepraszam, zapomniałem dodać, że drukuje do STDERR:
Wypróbuj online!
źródło
Fuzzy Octo Guacamole , 11 bajtów, A001844 [Bezpiecznie!]
dh*h++^2*0a
Szczelina, która tego rodzaju działa, jest w Pyth. Nie jest to jednak właściwy format wyjściowy.Mój kod wciąż tam jest! (i nie ma go w Pyth)
Przypadki testowe:
Rozwiązanie:
W Jolfie.
źródło
d
...WinDbg, 39 bajtów, A000007Pęknięty przez jimmy23013Trudna sekwencja
0**n
.Wprowadzanie odbywa się poprzez przekazanie wartości do pseudorejestru
$t0
.Moje oryginalne rozwiązanie to C #:
źródło
JavaScript ES6, 38 bajtów, A000290 , pęknięty
Ten kwadratowy pociąg jest całkiem sprytny, ale nigdzie nie jedzie szybko. (Zdobądź to? Pociąg kwadratowy ? Jak w, koła? Nie? Ok, w porządku. Krytycy .)
Zamierzona odpowiedź: siatkowa ( spróbuj online! ),
źródło
MATL , 13 bajtów, A002275Pęknięty!Wypróbuj online!
Wyjaśnienie:
źródło
2sable , 13 bajtów, A002378, pęknięty!Mam nadzieję, że czegoś nie umknęło. Oblicza a (n) = n × (n + 1) :
Moja wersja:
Lub rozwinięta wersja:
Zauważ, że
>
w lewym górnym rogu nie jest używany (z wyjątkiem programu 2sable). Zrobiłem to, aby zmylić złodziei (ale to oczywiście nie działało haha).Wypróbuj online!
źródło
2sable, 15 bajtów, A087156
Wypróbuj online
Sekwencja liczb nieujemnych, z wyjątkiem 1.
źródło
Befunge 93 , 14 bajtów, A121377 ,Pęknięty przez mleko !Ciekawostka: zamierzonym rozwiązaniem tego problemu jest pierwszy raz, kiedy używam tego języka.
Moje rozwiązanie w Pyth. & @ wydrukuj błąd, ale dotyczy to STDERR, który według OP jest ignorowany.
źródło
Python 2, 35 bajtów, A048735 , Bezpieczny
Oryginalne rozwiązanie było w moim własnym języku programowania Wise .
Większość postaci nie ma znaczenia. Ważnymi bohaterami są pierwsze sześć.
:
tworzy dwie kopie pierwszego przedmiotu na stosie.<<>
bit przesuwa się dwukrotnie w lewo i raz w prawo, co jest równoważne przesunięciu bitu raz w lewo.&
pobiera bitowy oraz górny i drugi element (oryginał i nieco przesunięta kopia). Na koniec>
bit przesuwa się raz w prawo.źródło
05AB1E, 5 bajtów, A000012 , bezpieczny
Sekwencja 1. Wypróbuj online
Zamierzone rozwiązanie: Arcyou
Wypróbuj online . Nie mogłem znaleźć dokumentacji dla tego języka, więc nie mam wyjaśnienia, jak dokładnie działa.
źródło
1
i;
.Python 2, 70 Bytes, A000217Cracked!Mam przeczucie, że nie będzie to łamane w języku, którego użyłem dla innej wersji, zobaczymy :)
Zrozumiałem później, że niepoprawnie zaciemniłem kod (nie zmienia to poprawności opublikowanej odpowiedzi). Oto kod, od którego zacząłem w Haystack:
źródło
05AB1E , 9 bajtów, A000042Pęknięty!Jest to jednoargumentowa reprezentacja liczb naturalnych (OEIS). Gdyby na przykład dane wejściowe były
3
na przykład, dane wyjściowe byłyby111
.Wyjaśnienie:
Wypróbuj online!
Oryginalne rozwiązanie, marchew
Wyjaśnienie
W
*
mnoży smyczkowych(n+1)
razy, tak żea^*3
skutkujeaaaa
i nieaaa
. Dlatego odjęłam1
od danych wejściowych.Dopiero teraz zdaję sobie sprawę, że
)
nie miało to znaczenia w obu językach: DWypróbuj online!
źródło
J, 2 bajty, A000290 , Pęknięty
Cóż, równie dobrze może zacząć iść na te dwubajtowe. Wydajność n × n lub n 2 .
zamierzone rozwiązanie, Jolf, 2 bajtyDobrze. Tak. To jest mój własny język i myślę, że działa, ponieważUps.~
szuka rozszerzonego znaku, ale go nie znajduje, więc po prostu go ignoruje. ¯ \ _ (ツ) _ / ¯źródło
ABCR , 24 bajty, A023443Pęknięty!Jest mnóstwo bezoperacyjnych. Oblicza
n - 1
.źródło
05AB1E, 8 bajtów, A000042 , pęknięty
Przypadki testowe:
źródło
Ouroboros , 6 bajtów, A000012PękniętyZawsze wychodzi
1
.źródło