Od Euklidesa wiemy, że istnieje nieskończenie wiele liczb pierwszych. Argument jest sprzeczność: Jeśli istnieje tylko skończenie wiele, powiedzmy , a następnie na pewno nie jest podzielne przez żadną z tych liczb pierwszych, więc jego rozkład na czynniki pierwsze musi dać nową liczbę pierwszą, której nie było na liście. Zatem założenie, że istnieją tylko skończone liczby pierwsze, jest fałszywe.
Załóżmy teraz, że jest jedyną liczbą pierwszą. Powyższa metoda daje jako nową (możliwą) liczbę pierwszą. Ponowne zastosowanie metody daje , a następnie , a następnie , więc zarówno jak i są nowe liczby pierwsze itp. W przypadku, gdy otrzymujemy liczbę całkowitą, bierzemy najmniejszą liczbę pierwszą. Daje to wynik A000945 .
Wyzwanie
Biorąc pod uwagę liczbę pierwszą i liczbę całkowitą oblicz ty składnik sekwencji zdefiniowanej w następujący sposób:
Sekwencje te są znane jako Euclid-Mullin .
Przykłady
Dla :
1 2
2 3
3 7
4 43
5 13
6 53
7 5
8 6221671
9 38709183810571
Dla ( A051308 ):
1 5
2 2
3 11
4 3
5 331
6 19
7 199
8 53
9 21888927391
Dla ( A051330 )
1 97
2 2
3 3
4 11
5 19
6 7
7 461
8 719
9 5
(,0({q:)1+*/)^:
przez 15 bajtów, zwracając sekwencję don
(indeksowane od zera)verb conj
wyprodukowałem przysłówek .^:
, a następnie , że staje się czasownik, który odnosi się do prawej arg. Myślę, że to się dzieje gramatycznie.Python 2 , 56 bajtów
Wypróbuj online!
Skomentował
Wypróbuj online!
źródło
int(input())
inaczeji
jeststr
?input()
zawsze zwraca łańcuchy. W Python 2input()
próbuje ocenić dane wejściowe. W tym przypadku używam języka Python 2, ponieważ wynikowy kod jest nieco krótszy. W przypadku prawdziwego kodu powinieneś spróbować użyć Pythona 3, ponieważ jest to nowsza i bardziej obsługiwana wersja Pythona.Galaretka , 8 bajtów
n=0
Wypróbuj online!
W jaki sposób?
źródło
05AB1E , 8 bajtów
f
Wyjaśnienie:
źródło
λλP>fW
λ£λP>fW
£
£
dla ostatniego elementu! ”, Na przykład.£
? ;) EDYCJA: Właściwie to nie działa dokładnie tak jak w£
przypadku list. Używanie listy jak[1,2]
z.£
wynikami daje dwa luźne elementy z ostatnimi 1 i 2 elementami (tj.12345
Staje się[5,45]
zamiast[45,3]
lub[3,45]
, z12S.£
) ..λ.£
powinno działać. Użyłem flagi jak w dodatkowej funkcji związanej zλ
(patrz rozmowa z Adnanem ). Zasadniczo chcęè
taką flagę , aby po uruchomieniuλè...}
generowała n-ty element zamiast nieskończonego strumienia (podobnie jakλ£
działałaby przy generowaniu pierwszych n elementów).£
środowisko rekurencyjne. Tak,λ.£
to naprawdę nie zadziała, mój zły. Niezły 6-bajter niezależnie. Teraz musisz tylko poczekać na odpowiedź @flawr , czy jest to dozwolone, czy nie (prawdopodobnie tak jest).Japt ,
1211 bajtówWalczyłem o to, aby być w stanie dobrze, więc mogłem przegapić coś, co można zagrać w golfa.
Pobiera
n
jako pierwsze wejście, ap1
jako tablica singletonów jako drugie. Zwraca pierwszen
warunki. Zmień,h
aby zamiast tegog
zwrócićn
th indeksowany indeks 0.Spróbuj
źródło
Siatkówka , 56 bajtów
Wypróbuj online! Pobiera dane wejściowe jako liczbę nowych terminów do dodania w pierwszym wierszu i termin (y) początkowy w drugim wierszu. Uwaga: Staje się bardzo wolny, ponieważ wykorzystuje jednoargumentowe dzielenie, więc musi utworzyć ciąg o odpowiedniej długości. Wyjaśnienie:
Zamień przecinki w terminach
*
początkowych na s i dodaj*
. To tworzy wyrażenie Retina dla ciągu długości iloczynu wartości.Powtórz pętlę tyle razy, ile podało pierwsze wejście.
Tymczasowo zamień liczbę w pierwszym wierszu na a
$
i wstaw znak a_
do drugiego wiersza, a następnie oceń wynik jako program Retina, dodając w ten sposób ciąg_
s długości 1 więcej niż iloczyn wartości.Znajdź najmniejszy nietrywialny współczynnik liczby dziesiętnej i dołącz
*
gotową do następnej pętli.Usuń wejście iteracji.
Usuń ostatni
*
.Zamień pozostałe
*
s na,
s.źródło
JavaScript (Node.js) , 54 bajty
Wypróbuj online!
Nie golfił
źródło
bash + GNU coreutils, 89 bajtów
TIO
źródło
Ruby 2.6, 51 bajtów
(2..)
, nieskończony zakres od 2, nie jest jeszcze obsługiwany w TIO.Jest to funkcja rekurencyjna, która przyjmuje wartość początkową
s
(może być liczbą pierwszą lub złożoną), zwraca ją, gdy n = 0 (edytuj: zauważ, że oznacza to, że ma indeks zerowy), zwraca najmniejszą liczbęl
większą niż 1 i dzieli,-(s+1)
gdy n = 1, a w przeciwnym razie powtarza się za pomocąs=l*s
in=n-1
.źródło
(2..)
z2.step
(tylko 1 bajt dłużej), aby umożliwić jej do pracy na TIO i wszystko było się o jeden. Wypróbuj online!APL (Dyalog Extended) , 15 bajtów
Jest to dość prosta implementacja algorytmu, który używa rozszerzeń bardzo pomocne czynniki prime wbudowane,
⍭
. Wypróbuj online!Wyjaśnienie
źródło
Pari / GP , 47 bajtów
Wypróbuj online!
źródło
Stax , 9 bajtów
Uruchom i debuguj
Pobiera i (indeksowane od zera) do wprowadzenia. Produkuje .
p0
n
pn
źródło
C (gcc) ,
5453 bajtówWypróbuj online!
-1 bajt dzięki pułapkowi cat
źródło
Perl 6 ,
3332 bajty-1 bajt dzięki nwellnhof
Wypróbuj online!
Anonimowy blok kodu, który pobiera liczbę i zwraca leniwą listę.
Wyjaśnienie:
źródło
-+^[*](@_)
zapisuje bajt.Haskell , 49 bajtów
Wypróbuj online!
Zwraca nieskończoną sekwencję jako leniwą listę.
Wyjaśnienie:
źródło