Rozważmy trójkąta gdzie N ty rząd (1 indeksowane) to tablica pierwszych N dodatnich mocy całkowitą o N . Oto kilka pierwszych wierszy:
N | Trójkąt 1 | 1 2 | 2 4 3 | 3 9 27 4 | 4 16 64 256 5 | 5 25 125 625 3125 ...
Teraz, jeśli połączymy te moce w jedną sekwencję, otrzymamy OEIS A075363 :
1, 2, 4, 3, 9, 27, 4, 16, 64, 256, 5, 25, 125, 625, 3125, 6, 36, 216, 1296, 7776, 46656 ...
Biorąc pod uwagę liczbę całkowitą N , Twoim zadaniem jest zwrócenie N- tego terminu tej sekwencji. Możesz wybrać indeksowanie 0 lub 1.
Przypadki testowe
1-indeksowany:
N -> Dane wyjściowe 1 -> 1 2 -> 2 3 -> 4 5 -> 9 10 -> 256 12 -> 25 15 -> 3125
0-indeksowane:
N -> Dane wyjściowe 0 -> 1 1 -> 2 2 -> 4 4 -> 9 9 -> 256 11 -> 25 14 -> 3125
Pamiętaj, że te luki są domyślnie zabronione. To jest golf golfowy , dlatego wygrywa najkrótsza ważna wersja w każdym języku!
Odpowiedzi:
Python 3 , 39 bajtów
1-indeksowany
Wypróbuj online!
źródło
Łuska , 7 bajtów
Wypróbuj online!
1-indeksowany
Wyjaśnienie:
źródło
Wolfram Language (Mathematica) , 32 bajty
Wypróbuj online!
Zakresy mocy zakresów zakresów ...
źródło
Range@Range@3
zwraca{{1}, {1, 2}, {1, 2, 3}}
? Cholera, zestawianie wątków Mathematiki jest szalone.R , 40 bajtów
-2 bajty przenoszące odpowiedź Halvarda Hummela
Wypróbuj online!
R , (oryginalna odpowiedź) 42 bajty
Wypróbuj online!
1-indeksowany.
źródło
APL (Dyalog) ,
151310 bajtów3 bajty zapisane dzięki @ Adám
Wypróbuj online!
W jaki sposób?
⍳¨∘⍳
- utwórz zakres dla każdej liczby w zakresie danych wejściowych⍳*
- podnieść każdą liczbę w zakresie danych wejściowych do odpowiednich mocy∊
- spłaszczyć⊢⊃
- wybierz n-ty elementźródło
f
(w ten sposóbf←
są jeszcze 2 bajty, które nie są tutaj liczone), i istnieje wiązka testowa, która zwraca wyniki od1
do10
.Galaretka , 7 bajtów
Wypróbuj online!
-1 dzięki Mr. Xcoder .
1-indeksowany.
źródło
"
, moje własne rozwiązanie to 7 bajtów:*R$€F⁸ị
"
, ale nadal. Oto, co dostajesz za konieczność studiowania historii: /Haskell ,
3028 bajtówZaoszczędzono 2 bajty dzięki xnor.
Wypróbuj online!
0-indeksowane
źródło
[n^i|n<-[1..],i<-[1..n]]
. Listy jest krótsze .>>=
formy ...MATL , 9 bajtów
Indeksowanie jest oparte na 1. Wypróbuj online! Lub sprawdź wszystkie przypadki testowe .
Wyjaśnienie
Rozważ dane wejściowe
5
jako przykład.źródło
APL (Dyalog) ,
1412 bajtówWypróbuj online!
Wykorzystuje indeksowanie 1
Zapisano 2 bajty z
↑,/ → ∊
, zaczerpnięte z odpowiedzi GrahamaPamiętaj, że w linku testowym kod wymaga dodatkowego
f←
, ale nie jest to liczone zgodnie z naszymi zasadami.źródło
∘
z⍨
.{⍵⌷∊*∘⍳⍨¨⍳⍵}
→⊢⌷∘∊((*∘⍳)⍨¨⍳)
→⊢⌷∘∊(⍳(*∘⍳)¨⍳)
→⊢⌷∘∊⍳*∘⍳¨⍳
⊢
jest funkcją ukrytą, co⍵
jest dla dfn.∘
Pomiędzy⌷
i∊
jest potrzebna, ponieważ∊
nazywa monadically, więc jest to indeks zamieszczenia . I że zmianyf⍨⍳
w⍳ f ⍳
Aby uniknąć wywoływania f (*∘⍳¨
monadically) (o ile⍨
i¨
sąsiadują ze sobą, mogą zamienić położenie).Pyth , 8 bajtów
Wypróbuj tutaj.
-1 dzięki Stevenowi H. .
0-indeksowane.
źródło
@s^RSdSh
zagrać w golfa.05AB1E , 9 bajtów
Wypróbuj online!
Wyjaśnienie
1-indeksowany.
Alternatywne rozwiązanie dla listy zamiast pętli
źródło
Perl 6 , 29 bajtów
Sprawdź to
Rozszerzony:
źródło
Rubinowy , 34 bajty
Wypróbuj online!
źródło
JavaScript , 30 bajtów
-1 bajt dzięki Nahuelowi Fouilleulowi
Wypróbuj online!
źródło
f=(x,n=1)=>x>n?f(x-n,n+1):n**x
Python 2 , 57 bajtów
Wypróbuj online! (Indeksowane 0).
Alternatywna wersja o długości 74 bajtów z indeksowaniem 0 .
źródło
Galaretka ,
1512 bajtówPrawdopodobnienie optymalne.-3 dzięki grze w golfa Erika the Outgolfer .
Wypróbuj online!
źródło
J , 20 bajtów
1-indeksowany
Wypróbuj online!
źródło
APL + WIN, 23 bajty
Wyjaśnienie:
źródło
∊
z twojej odpowiedzi, aby zastąpić moją↑,/
. Nie wiedziałem o tej funkcji. DziękiSILOS , 45 bajtów
Wypróbuj online!
źródło
Perl 5, 30 + 1 (-p) bajtów
spróbuj online
źródło
Clojure 51 bajtów
Indeksowane 0, na przykład
9
zwraca dane wejściowe256.0
.źródło
do
76, 62 bajtyy; f (n) {y = (int) (-. 5 + sqrt (1 + 8 * ~ -n) / 2) +2; n + = y * (3-y) / 2-1; return (int ) pow (y-1, n);}Oparłem go na tym kodzie
Wypróbuj na ideone
źródło
Pyt ,
3937 bajtów1-indeksowany
Wyjaśnienie:
W skrócie, oblicza każdy wiersz. Jeśli żądany numer znajduje się w tym wierszu, zwróć go; w przeciwnym razie przejdź do następnego wiersza.
źródło