Uwaga: jest to mocno inspirowane tym pytaniem .
Zadanie:
Twoim zadaniem jest wygenerowanie n
pierwszej liczby, gdy każda postać twojego programu jest powtarzana n
razy.
Powiedzmy, że twój program to:
Derp
Każda tamta postać jest powtarzana raz, więc powinna zostać wypisana 2
.
Kiedy każda postać jest zduplikowana w miejscu, tak:
DDeerrpp
To powinno wygenerować drugą liczbę pierwszą, czyli 3
.
Okular:
- Twój program nie może przyjmować żadnych danych wejściowych i wyświetla odpowiednią liczbę pierwszą.
- Twój program musi działać dla wszystkich liczb pierwszych, mając wystarczającą ilość czasu i pamięci.
- Wiodące i końcowe znaki nowej linii są w porządku.
- Dane wyjściowe muszą być w domyślnej podstawie języka - jeśli nie ma wartości domyślnej, każda podstawa jest w porządku.
To jest golf golfowy , więc wygrywa najkrótszy kod w bajtach.
code-golf
math
primes
source-layout
clismique
źródło
źródło
Odpowiedzi:
Galaretka , 13 bajtów
Wypróbuj online! lub uruchom pierwsze dziesięć programów .
tło
Galaretka ma kilka różnych rodzajów literałów łańcuchowych; wszystkie zaczynają się od
“
. Jeśli literał zawiera więcej niż jeden“
, zwracana jest tablica ciągów, która“
oddziela ciągi od siebie.Na przykład
“abc“def”
daje['abc', 'def']
.W zależności od ostatniego znaku literału (dowolnego z tych
”«»‘’
, w których«
obecnie nie jest zaimplementowany), można wybierać między różnymi rodzajami literałów. Ponieważ‘
otrzymujemy punkty kodowe na stronie kodowej Jelly zamiast odpowiednich znaków Unicode.Na przykład
“abc“def‘
daje[[97, 98, 99], [100, 101, 102]]
.Literały w pierwszych trzech programach odpowiadają następującym tablicom punktów kodowych.
Jak to działa ( n = 3 )
źródło
GS2 ( zatwierdzenie 67fea47 ),
63 bajtyJak to działa
Jak większość poleceń, GS2
d
są przeciążone. Początkowo na stosie jest pusta lista (dane wejściowe lub ich brak), więcd
oblicza się ich sumę. Po pierwszej iteracji na stosie znajduje się 0 id
obliczana jest parzystość (również 0 ). Tak więc, bez względu na to, ile razy będziemy powtarzaćd
, wynik będzie zawsze pojedynczym 0 .Następna część jest prosta. Polecenie
n
wyskakuje u góry stosu i wypycha następną liczbę pierwszą. Zatem powtarzanien
k razy oblicza k główny.Wreszcie, polecenie po prostu stosuje str do góry stosu, co konwertuje liczbę na jego reprezentację łańcuchów i nie wpływa na łańcuchy. Tak więc, bez względu na to, ile razy będziemy powtarzać
R
, wynikiem będzie reprezentacja ciągu k główny.źródło