Zdefiniujmy sekwencję. Powiemy, że jest najmniejszą liczbą, , która ma następujące właściwości:
i są pierwszorzędne (nie dzielą żadnego czynnika)
nie pojawia się wcześniej w sekwencji
W przeciwieństwie do większości sekwencji domeną i zakresem naszej sekwencji są liczby całkowite większe niż 1.
Obliczmy pierwszą parę warunków.
, musi wynosić co najmniej4, ale4i2mają współczynnik2,więc musi wynosić5.
, powinna wynosić co najmniej5a5zajmuje , tak, że jest co najmniej6, a6udział jako czynnik3, tak więc musi być co najmniej7,7spełnia wszystkie trzy warunki tak ( 3 ) = 7 .
- 2 Udostępnia czynnik
- 3 Za blisko
- 4 Za blisko
- 5 Za blisko
- 6 Udostępnia czynnik
- 7 Zrobione przez (3)
- 8 Udostępnia czynnik
- 9 jest dobra
- 2 jest dobre
Zadanie
W tym wyzwaniu masz napisać program, który przyjmuje liczbę większą niż 1 i zwraca .
To jest pytanie w golfa kodu, więc odpowiedzi będą oceniane w bajtach, przy czym mniej bajtów będzie lepszych.
Przypadki testowe
Oto kilka pierwszych pojęć sekwencji (są one oczywiście indeksowane 2):
5,7,9,2,11,3,13,4,17,6,19,8,23,22,21,10,25,12,27,16,15,14
Dodatkowy fakt zabawy
Jak udowodnił Robert Israel na Math.se ( link ), ta sekwencja jest własną odwrotnością, co oznacza, że dla wszystkich n.
OEIS
Po zadaniu tego pytania przesłałem tę sekwencję do OEIS i po kilku dniach została dodana.
Odpowiedzi:
Haskell , 61 bajtów
Wypróbuj online!
Jestem całkiem nowy w Haskell, więc wszelkie wskazówki dotyczące golfa są odpowiednie.
Dzięki Wheat Wizard za 2 bajty i nimi za 4 bajty
Wyjaśnienie:
źródło
Alice , 42 bajty
Wypróbuj online!
Wyjaśnienie
Jest to standardowy szablon dla programów, które przyjmują liczbę jako dane wejściowe i wyprowadzają liczbę, zmodyfikowaną tak, aby umieścić 1 na stosie poniżej liczby wejściowej.
Główna część programu umieszcza każdy numer
k
w gnieździea(k)
na taśmie. Wewnętrzna pętla oblicza a (k), a zewnętrzna pętla iteruje ponad k, aż zostanie obliczone a (n).źródło
VB.NET (.NET 4.5), 222 bajty
Musiałem zrobić własny GCD. Nie mogłem też wymyślić, jak sprawić, by nie była to cała funkcja.
GCD jest zawsze> = 1, więc wystarczy zignorować 1
Zwrócił uwagę na zwarcie w golfie, ponieważ jest krótszy
Nie grał w golfa
źródło
Mathematica, 111 bajtów
Wypróbuj online! 2..23 (tryb zasięgu)
Wypróbuj online! lub 150 (różne wartości)
źródło
Japt , 33 bajty (niekonkurujące?) †
Wypróbuj online!
† I naprawiono błąd w Japt tłumacza podczas pracy nad tym rozwiązaniem. Ten meta post sprzed roku uważa tę odpowiedź za niekonkurencyjną, ale ten nowszy meta post dąży do uzyskania większej swobody. Niezależnie od tego poświęciłem temu zbyt wiele czasu, aby go złomować.
źródło
05AB1E , 26 bajtów
Wypróbuj online lub wydrukuj pierwszyn warunki jako lista . (UWAGA: 10 ∗ n zamiast 10n ).)
°
jest oczywiście bardzo powolny, dlatego zastąpionoT*
go linkami TIO (Wyjaśnienie:
źródło