Zadanie polega na napisaniu programu, który przyjmuje liczbę naturalną i tworzy ty ciąg sekwencji OEIS. Sekwencja ta powinna mieć identyfikator w postaci A
następujących po niej 6 cyfr. Teraz, gdy weźmiesz kod źródłowy i odwrócisz kolejność bajtów, aby utworzyć nowy program, program ten powinien również implementować sekwencję OEIS. Nowa sekwencja powinna być oznaczona A
następującymi po niej tymi samymi 6 cyframi, co poprzednio, ale w odwrotnej kolejności (łącznie z zerami wiodącymi).
Teraz, aby nie było trywialne, ani numer identyfikacyjny OEIS, ani twój program nie mogą być palindromami. To znaczy sekwencje i programy powinny być różne. Nie można wybrać sekwencji, dla której jej odwrócenie nie istnieje lub jest puste.
Dla każdej sekwencji możesz użyć indeksowania 0 lub 1. Nie muszą używać tego samego indeksowania. Ponieważ niektóre sekwencje OEIS mają ograniczoną domenę, musisz podać tylko prawidłowe liczby dla domeny sekwencji. Twoje wymagane zachowanie jest niezdefiniowane poza domeną (możesz wyprowadzać 0
, zawieszać się, zamawiać pizzę itp.).
To jest golf golfowy, więc odpowiedzi będą liczone w bajtach, przy czym mniej bajtów będzie lepszych.
źródło
Odpowiedzi:
05AB1E ,
94 bajty ( A000040 i A040000 )Wypróbuj online!
! enilno ti yrT
Wyjaśnienie:
: noitanalpxE
źródło
Perl 6 , 55 bajtów (A055642 i A246550)
Wypróbuj online!
Jest to anonimowa cokolwiek lambda implementująca sekwencję OEIS A055642 (długość dziesiętnej reprezentacjin ) 0-indeksowanej.
Wypróbuj online!
Odwrotna jest sekwencja A246550 (uporządkowana listaxmi gdzie x jest liczbą pierwszą, a e ≥ 4 ) 1-indeksowana.
Większość tego wyzwania polegała na znalezieniu dobrej sekwencji z niezbyt skomplikowanym zwrotem.
Aktualizacja: Korzystając z odpowiedzi torcado , może to być 19 bajtów (A010851 i A158010)
Wypróbuj online!
źródło
\ / \ /> ,
1514 bajtów ( A010851 i A158010 )efektywnie
cn
, wyjście 12skutecznie
j:"Ā"*1-*n
, n (256n-1)dzięki przyjacielowi za znalezienie niewiarygodnie prostych sekwencji!
źródło
Haskell, 47 bajtów ( A000010 i A010000 )
Obie sekwencje są stosunkowo proste.
Wypróbuj online!
p n
= funkcja Eulera dla n (A000010) (indeks 1)Wywrócony:
Wypróbuj online!
p n
= 1, jeśli n = 0, w przeciwnym razie n ^ 2 + 2Byłoby interesujące zobaczyć odpowiedź, która nie używa komentarzy ...
źródło
Python 2 , 59 bajtów (A030000 i A000030)
Wypróbuj online!
Definiuje funkcjęk tak, że rozwinięcie dziesiętne z 2)k zawiera ciąg n ), 0-indeksowane
f
zwracającą n-ty warunek A030000 (najmniejsza nieujemna liczbaWypróbuj online!
Anonimowa funkcja zwracająca n-ty termin z A000030 (początkowa cyfran ), 0-indeksowane
Krótsza wersja, która pobiera ciągi jako dane wejściowe (dla obu sekwencji), i obie nadal indeksowane 0:
Python 2 , 56 bajtów
Wypróbuj online!
Wypróbuj online!
źródło