Wyzwanie
Biorąc pod uwagę podstawę i indeks , termin wyjściowy , zdefiniowany w następujący sposób:
- uzyskuje się przez konwersję do bazy a następnie reinterpretację jej cyfr w bazie
- Wyjście powinno być w bazie
Przejście dla podstawy 5, termin 5 to:
- .
- więc .
- więc .
- więc .
- więc .
- Wyprowadzamy ciąg
"1011"
lub liczbę całkowitą1011
.
Przypadki testowe
Uwaga: są one zindeksowane
base 2, term 5 --> 1100100111110011010011100010101000011000101001000100011011011010001111011100010000001000010011100011
base 9, term 70 --> 1202167480887
base 8, term 30 --> 4752456545
base 4, term 13 --> 2123103032103331200023103133211223233322200311320011300320320100312133201303003031113021311200322222332322220300332231220022313031200030333132302313012110123012123010113230200132021023101313232010013102221103203031121232122020233303303303211132313213012222331020133
Uwagi
- Standardowe luki są niedozwolone
- Dowolna domyślna metoda we / wy jest dozwolona
- Możesz użyć różnych indeksów (takich jak 0-indeksowane, 1-indeksowane, 2-indeksowane itp.) Dla
- Możesz wypisać pierwsze terminy.
- Ponieważ jest to gra w golfa , najkrótszy kod wygrywa dla tego języka
11
jakby był w bazieb
i konwertował go z powrotem do bazy 10, itp.)4a
nie byłby prawidłową liczbą w bazie-104a
, ponieważ interpretujesz cyfry 10 jako bazęb
i konwertujesz na bazę 10 za każdym razem (tj. Na odwrót od tego pytania).Odpowiedzi:
JavaScript (Node.js) , 40 bajtów
Dzięki @Neil za zapisanie 5 bajtów w tej wersji i 2 bajty w wersji BigInt
Pobiera dane wejściowe jakot
(t)(base)
, gdzie jest indeksowane 1.Wypróbuj online!
JavaScript (Node.js) , 48 bajtów (wersja BigInt)
Pobiera dane wejściowe jakot
(t)(base)
, gdzie jest indeksowane 1. Zwraca BigInt.Wypróbuj online!
źródło
eval
w pierwszej wersji?+
zaoszczędziłby 5 bajtów ...BigInt
zapisuje dwa bajty w drugiej wersji, ponieważ nie trzeba dodawaćn
do ciągu.(b,t,x=11)=>--t?f(b,t,+x.toString(b)):x
jest o 1 char krótszyf=
(ponieważ funkcja sama się odwołuje).n=>b=>g=(x=11n)=>--n?g(BigInt(x.toString(b))):x
:) Jeśli połączenief(t)(b)()
jest dozwolone.05AB1E , 5 bajtów
Wypróbuj online!
Wyjaśnienie
Zauważ, że nie ma potrzeby jawnego rozpoczynania sekwencji o godzinie 11 .
Rozpoczęcie
base+1
i wykonanie dodatkowej iteracji spowoduje, że pierwsza iteracja da 11 .źródło
Japt , 9 bajtów
Spróbuj
źródło
Wolfram Language (Mathematica) , 46 bajtów
Wypróbuj online!
Zadzwoń z
f[base][t]
. 0-indeksowane.źródło
Siatkówka , 67 bajtów
Wypróbuj online! Pobiera dane oddzielone przecinkamit (indeksowane 0) b . Wykonuje wszystkie swoje obliczenia jednostajnie, więc przeterminowuje duże liczby. Wyjaśnienie:
Zainicjujx0= 11 i przekonwertuj b na unary.
Powtórzt razy.
Konwertujxja na unary.
Konwertuj na bazęb .
Usuńb wyniku.
źródło
Python 2 , 71 bajtów
Wypróbuj online!
0-indeksowane.
źródło
Clojure , 109 bajtów
Kredyt dla MilkyWay90 za usunięcie 10 bajtów przez wykrycie niepotrzebnych spacji. Kredyt na Embodiment of Ignorance dla kolejnego bajtu z innej niepotrzebnej przestrzeni
Grał w golfa
Nie golfił
Myślę, że głównym miejscem, w którym można by zapisać bajty, jest wyrażenie na ... remiksowanie? jakkolwiek to by się nazywało. Konkretnie:
źródło
(if (= t 1)
Perl 6 , 28 bajtów
Wypróbuj online!
Indeks do sekwencji jest zerowy.
źródło
Galaretka ,
87 bajtówWypróbuj online!
Wyjaśnienie
źródło
K (ngn / k) , 13 bajtów
Wypróbuj online!
źródło
Pyth , 8 bajtów
Wypróbuj online!
źródło
C # (interaktywny kompilator Visual C #) , 87 bajtów
Zaoszczędź 5 bajtów dzięki @KevinCruijssen
Wypróbuj online!
źródło
do-while
w zwykłą pętlę for.pieprzenie mózgu , 270 bajtów
Wypróbuj online!
0-indeksowane. Przyjmuje się, że liczba iteracji wynosi maksymalnie 255.
Wyjaśnienie
Taśma jest ułożona w następujący sposób:
Każda cyfra jest faktycznie przechowywana jako ta cyfra plus 1, przy czym 0 jest zarezerwowane na „więcej cyfr”. Podczas konwersji bazy aktualnie przetwarzane cyfry są przenoszone o jedną komórkę w prawo, a baza jest przenoszona na lewo od bieżącego obszaru roboczego.
źródło
Węgiel drzewny , 14 bajtów
źródło
Pari / GP , 50 bajtów
Wypróbuj online!
źródło
C (gcc) , 59 bajtów
Wypróbuj online!
źródło
Groovy , 45 bajtów
Wypróbuj online!
Port odpowiedzi @ Arnauld
źródło
PHP ,
8375 bajtówWypróbuj online!
Ten będzie działał tylko z „małymi” liczbami (np. Nie będzie przypadków testowych 1 i 4)
źródło
Japt , 10 bajtów
0-indeksowane. Pobiera
t
jako pierwsze wejście,b
jako drugie.Spróbuj
źródło
Gaia , 8 bajtów
Wypróbuj online!
iterations
Wówczas przyjmuje 0base
.źródło
Rubin , 39 bajtów
Zero indeksowane.
Wypróbuj online!
źródło
Perl 5
-Mbigint -pa
, 65 bajtówWypróbuj online!
źródło