Minimalna siła iteracji pewnej liczby jest zdefiniowany w następujący sposób:
Oznacza to, że podniesione do najniższej cyfry w . Na przykład a .
Minimalne głównego zasilania pewnej liczby jest zdefiniowany jako liczba otrzymana z wielokrotne zastosowanie aż do punktu stałego znajduje. Oto tabela minimalnych pierwiastków władzy liczb od 1 do 25:
n MPR(n)
--------------------------
1 1
2 1
3 531441
4 1
5 3125
6 4738381338321616896
7 1
8 16777216
9 1
10 1
11 11
12 12
13 13
14 14
15 15
16 16
17 17
18 18
19 19
20 1
21 21
22 1
23 279841
24 1
25 1
Wyzwanie: Wygeneruj liczby, których minimalny pierwiastek mocy nie jest równy 1 lub sam.
Oto pierwsze 50 liczb w tej sekwencji:
3, 5, 6, 8, 23, 26, 27, 29, 35, 36, 39, 42, 47, 53, 59, 64, 72, 76, 78, 82, 83, 84, 92, 222, 223, 227, 228, 229, 233, 237, 239, 254, 263, 267, 268, 269, 273, 276, 277, 278, 279, 285, 286, 287, 289, 296, 335, 338, 339, 342
Zasady
- Możesz wygenerować pierwsze
n
liczby z tej sekwencji (indeksowane 0 lub 1), wygenerowaćn
th termin, stworzyć generator, który oblicza te warunki, generować nieskończenie wiele z nich itp. - Możesz przyjmować dane wejściowe i dawać dane wyjściowe w dowolnej bazie, ale obliczenia dla MPR muszą być w bazie 10. Na przykład możesz wziąć dane wejściowe
###
(jednostkowe) i wyjściowe### ##### ######
(jednostkowe) - Państwo musi uzyskując liczb. Nie możesz (np.) Wyprowadzać
"3", "5", "6"
, ponieważ są to ciągi znaków.3, 5, 6
i3 5 6
oba są jednak ważne. Wyprowadzanie2 3
,"23"
lubtwenty-three
wszystkie są uważane za nieprawidłowe reprezentacje liczby23
. (Ponownie możesz użyć dowolnej bazy do przedstawienia tych liczb). - To jest golfowy kod , więc wygrywa najkrótszy kod (w bajtach).
Odpowiedzi:
05AB1E , 8 bajtów
Generuje n-tą liczbę 1 -indexed
Wypróbuj online!
Wyjaśnienie
Opcjonalnie jako nieskończona lista o tej samej liczbie bajtów:
Wypróbuj online!
źródło
µ
iΔ
zaraz po opublikowaniu wyzwania otrzymałem tę samą odpowiedź, ale zastanawiałem się, dlaczego to nie zadziałało ... UżyłemD
raczej niżÐ
dlatego, że myślałem, że jedna kopia byłaby użyta przez funkcję stałego punktu i drugi przez funkcję mniejszą niż, ale nie wziąłem pod uwagę, że potrzebowałem kolejnej kopii. Dzięki, Emigna, za rozwiązanie mojej Enimgi.Perl 6 , 49 bajtów
Wypróbuj online!
Zwraca nieskończoną sekwencję. Podejrzewam, że działa także następująca 45-bajtowa wersja, ale nie mogę udowodnić, że stały punkt zawsze znajduje się po iteracjach.
źródło
J ,
413937 bajtówWypróbuj online!
Ten jest pełnym programem drukującym nieskończoną sekwencję. Bardzo rzadka okazja, gdy pełny program bije czasownik w J.
Jak to działa
J ,
4139 bajtówWypróbuj online!
Czasownik monadyczny. Biorąc pod uwagę indeks oparty na 1, zwraca liczbę przy tym indeksie. Stopka sprawdza, czy pierwsze 20 warunków jest poprawnych.
Czytając słowo „punkt stały”, od razu pomyślałem: „O tak,
^:_
zrobię świetną robotę”. Potem skończyło się na tym wstręt do gniewnych i smutnych twarzy. I to nawet nie pociąg, to pojedynczy czasownik .Niegolfowany i jak to działa
Liczba całkowita o dowolnej dokładności
0x
jest potrzebna do dokładnego obliczenia punktu stałego, np. Liczby 6.źródło
^:
, moja głowa zaczyna boleć na drugim z nich :)(>:[(<(^{.@/:~&.":)^:_)echo])^:_]1x
_&(_&(]]+]>:(^{.@/:~&.":)^:_)>:)*
przyjmowanie danych jako rozszerzonej liczby całkowitejPyth , 10 bajtów
Wypróbuj online!
GZZQ
.f
Q
u^GshS`G
Z
Kod źródłowy minimalnej mocy działa poprzez znalezienie stałego punktu
u
podniesienia bieżącej liczbyG
do potęgi jej minimalnej cyfry, która jest taka sama jak pierwsza cyfra (h
) posortowana leksykograficznie (S
), a następnie przekonwertowana z powrotem na liczbę całkowitą (s
).źródło
Galaretka , 10 bajtów
Monadyczny link pobierający liczbę całkowitą
I
, ze STDIN, który daje pierwszeI
wpisy.Wypróbuj online!
(
*DṂƊƬṪ%@µ#
działa również dla 10)W jaki sposób?
Zlicza rozpoczęcie do
n=0
momentuinput
napotkania prawdziwych wyników funkcji monadycznej i daje ten
s.Funkcja wielokrotnie stosuje inną funkcję monadyczną, zaczynając od
x=n
i zbiera wartości,x
aż wyniki nie będą już unikalne. (np .:19
plony[19]
;23
plony[23,529,279841]
;24
plony[24, 576, 63403380965376, 1]
; itd.), a następnie usuwa kolejność wyniku (usuwa wartość znajdującą się najdalej z lewej strony), uzupełnia wszystkie wartości (1-x
) i używaȦ
do obliczania,0
gdy na liście jest zero lub jeśli jest ono puste.Funkcja najbardziej wewnętrzna podnosi prąd
x
do wszystkich cyfr,x
a następnie utrzymuje minimum (robi to zapisywanie bajtów w stosunku do znalezienia najpierw cyfry minimalnej).źródło
ƬḊCȦ
tam. :-)Ṫ>
odbiera0
:(Mathematica,
5951 bajtów-8 bajtów dzięki Misze Ławrow .
Czysta funkcja. Pobiera liczbę jako dane wejściowe i zwraca listę terminów do tej liczby jako dane wyjściowe. Nic bardzo skomplikowanego tutaj.
źródło
FixedPoint
zwykle nie jest tak dobry, jak//.
(skrót odReplaceRepeated
) w golfie kodowym. Tutaj możemy zaoszczędzić kilka bajtówSelect[Range@#,1<(#//.x_:>x^Min@IntegerDigits@x)!=#&]&
.Select[Range@#,#<(#//.x_:>x^Min@IntegerDigits@x)&]&
.Python 3 ,
9088 bajtów-2 bajty przez @mypetlion
Wypróbuj online!
print
ponieważ wyrażenie oszczędza dwa bajty za pomocąif
instrukcji w Pythonie 2.F
oblicza punkt stały MPI; reszta daje nieskończoną sekwencję STDOUT.źródło
return m>x and F(m)or m
abyreturn[int,F][m>x](m)
zapisać 2 bajty.Haskell,
6762 bajtówZwraca nieskończoną listę.
Wypróbuj online!
źródło
Ruby , 52 bajty
Wypróbuj online!
Wyświetla nieskończoną sekwencję
źródło
$.
zamiastx
, zapisuje inicjalizację)Java 10,
178173 bajtówPort odpowiedzi Ruby @GB , więc również drukuje w nieskończoność.
Wypróbuj online.
Wyjaśnienie:
źródło
JavaScript (Node.js) , 75 bajtów
Wypróbuj online!
źródło
JavaScript (Node.js) ,
98908986 bajtów-3 bajki dzięki @Conor O'Brien
Wypróbuj online!
Wydaje się, że generator jest krótszy niż zwracanie tablicy
n
liczb?Lub drukowanie w nieskończoność - 72 bajty
Wypróbuj online!
źródło
if(x>n)yield n
sięx>n&&(yield n)
jako wyrażenie)Galaretka , 14 bajtów
Wypróbuj online!
źródło
JavaScript (Chrome),
7877 bajtówWypróbuj online!
Port własnego rozwiązania Python 3 . Najnowsza wersja Chrome obsługuje
BigInt
(testowana na moim komputerze). Nie wypróbuj tego kodu w obecnej postaci w przeglądarce.źródło
Rakieta ,
270, 257233 bajtówWypróbuj online!
To moje pierwsze zgłoszenie do rakiety , więc zdecydowanie można grać w golfa znacznie dalej. Niemniej jednak jestem trochę zadowolony, przynajmniej z powodu rozwiązania zadania.
Bardziej czytelny:
źródło
Aksjomat, 168 bajtów
Funkcją, która go używa, jest z (); tutaj wypisuje liczby, które mają odpowiednik jeden numer nie 1, nie sam i są mniejsze niż jego argument.
źródło
Visual Basic .NET (.NET Core) , 290 bajtów (obejmuje import)
Wypróbuj online!
Wymaga następującego importu:
Używa funkcji iteratora, aby zwrócić nieskończoną (leniwie załadowaną) listę liczb całkowitych, która spełnia kryteria. Wykorzystuje się,
BigInteger
aby uniknąć ograniczeń rozmiaru, szczególnie przy obliczeniach pośrednich.Bez golfa:
źródło
Common Lisp , 238 bajtów
Wypróbuj online!
źródło
APL (NARS), 96 znaków, 192 bajty
test (częściowy wynik dla argumentu 22 wydaje się być zbyt duży, więc <21 argumentów nie wiem, czy może być w porządku)
źródło
Python 3 , 102 bajty
Wypróbuj online!
Zdecydowałem się wypróbować rozwiązanie Python 3, które bezpośrednio drukuje n-ty termin w sekwencji.
źródło
C (brzęk) +
-DL=long long
-lm
, 213 bajtówWypróbuj online!
Funkcja
g(j)
drukuje pierwszej
warunki sekwencji.źródło
a=...
aby zapisać kilkanaście bajtów.x>1
zamiastx!=1&x>0
.Łuska ,
161210 bajtówZaoszczędzono 6 bajtów dzięki H.PWiz.
Wypróbuj online!
Wyjaśnienie
źródło
>¹
tutaj za pomocąS>
. Pozwala to umieścić wszystko w jednym wierszu. Wygląda też na to, że omyłkowo opuściłeś poprzedni link tioJapt , 44 bajty
Wypróbuj online!
Zasadniczo różni się od drugiej odpowiedzi Japt.
Wyjaśnienie:
Jeśli chodzi o przyszłe możliwości gry w golfa, wykonuję wiele ręcznych wywołań funkcji na numerach, które, jak podejrzewam, mogłyby zostać zredukowane, ale nie jestem pewien, jak to zrobić.
źródło