Wyzwanie
Dla danego dodatniego zakresu liczb całkowitych znajdź pierwszą i ostatnią liczbę pierwszą w całości złożoną z cyfr liczby pierwszej, wyjątkowo zawierającą 0 (dla cyfr zakres 0-2 powinien dać wynik 2-2). Zakres obejmuje. Jeśli nie zostanie znaleziona żadna liczba, oczekiwany wynik to 0. Jeśli istnieje tylko jeden taki numer, oczekiwanym wynikiem jest ta liczba dwa razy.
Przykłady
- Dla zakresu 1–100 pierwsza liczba pierwsza to 2, a ostatnia to 73 (7 i 3 to liczby pierwsze).
- Dla zakresu 70–80 pierwsza liczba pierwsza to 73, a ostatnia także 73 (ponieważ w podanym zakresie jest tylko jedna poprawna liczba, zwracamy ją dwa razy).
- Dla zakresu 190–200 nie ma poprawnej odpowiedzi, więc zwracasz 0.
- Dla zakresu 2000–2100 pierwsza liczba pierwsza to 2003, a ostatnia to 2053 (pomijamy cyfrę 0, ale wszystkie pozostałe cyfry są liczbą pierwszą)
To jest golf golfowy , więc wygrywa najkrótszy kod w bajtach!
Obowiązują wszystkie standardowe luki.
Wejście
- Możesz przyjąć dwie liczby całkowite jako dane wejściowe, jednak możesz zobaczyć dopasowanie, stos, argument (y) funkcji, argument CLI, stdin.
- Państwo musi otrzymać tylko dwie liczby całkowite.
Wynik
- Państwo musi też zwrócić wynik (krotki, tablicą, multi-powrót, jeśli obsługuje języki IT), pozostawić go na stosie, albo je wydrukować (w tym przypadku muszą być one oddzielone jakoś).
- Kolejność wyjść nie ma znaczenia.
- Dozwolone są nawiasy początkowe / końcowe i znaki nowej linii.
- Musisz zwrócić dwie liczby, jeśli istnieje odpowiedź, nawet jeśli są takie same.
- Musisz zwrócić 0, jeśli nie ma odpowiedzi.
0
zamiast[0]
?Odpowiedzi:
Python 2 , 123 bajty
Wypróbuj online!
źródło
Perl 6,
105949086 bajtówźródło
JavaScript (ES6), 83 bajty
Przyjmuje zakres [ab] w składni curry
(a)(b)
. Zwraca tablicę 2-elementową lub 0 .Przypadki testowe
Pokaż fragment kodu
źródło
Mathematica, 91 bajtów
Wypróbuj online!
źródło
Galaretka , 14 bajtów
Wypróbuj online!
Jak to działa
Jeśli pozwolenie na cały zakres byłoby dozwolone (choć myślę, że nie powinno tak być), to 12 bajtów:
Wypróbuj online!
źródło
For a given positive integers range
. Poproszę o wyjaśnienie0
jest wyjątkiem od wyzwania, ponieważ z jakiegoś powodu powinna być traktowana jako liczba pierwsza). W każdym razie opublikowałem krótszą iBrachylog , 16 bajtów
Wypróbuj online!
Zupełnie bezsensowne „return 0 if no be prime” powoduje, że tracimy 3 bajty (
|∧0
) bez powodu (powróciłobyfalse.
, gdybyśmy ich nie dodali)Wyjaśnienie
źródło
[2000, 2100]
Pyth , 24 bajty
Zastosowanie mojego początkowego podejścia okazuje się krótsze.
Wypróbuj tutaj!
(Właśnie aktualizowałem do 23, ale Steven mnie pobił )
Wypróbuj tutaj!
Naturalnie
hM_BK
można go zastąpić,hKeK
.25 bajtów
Wypróbuj tutaj!
26 bajtów
Wypróbuj tutaj!
Wypróbuj tutaj!
Jak oni pracują
źródło
Mathematica 85 bajtów
Wiem, że istnieje już podobna odpowiedź, ale podejście tutaj jest zupełnie inne.
Ta 83-znakowa odpowiedź zostanie wklejona i uruchomiona w Mathematica. Witryna TIO nie wie, jak interpretować ∞.
źródło
Galaretka , 14 bajtów
Wypróbuj online!
Dzięki Erikowi Outgolfer za pomoc w naprawieniu błędu. Dzięki panu Xcoderowi za
.ị
podstęp.źródło
ṙ-ḣ2
działać, abyḢ,Ṫ
to naprawić (być może trzeba będzie trochę zmodyfikować)?.ị
może również działać (rodzaj skradziony od pana XCodera)Rubinowy , 87 bajtów
Wypróbuj online!
źródło
CJam , 36 bajtów
Wypróbuj online!
źródło
Perl 6 ,
68 66 65 6158 bajtówSpróbuj
Spróbuj
Spróbuj
Spróbuj
Spróbuj
Rozszerzony:
źródło
Perl 5 , 79 + 2 (
-ap
) = 81 bajtówWypróbuj online!
źródło
Java 8,
165164 bajtówWyjaśnienie:
Wypróbuj tutaj.
źródło
Czysty ,
142131125 bajtówNie golfowany:
Wypróbuj online!
źródło
Pyth,
282523 bajtówZestaw testowy. Zwraca [2003,2053] dla ostatniego przypadku testowego, ponieważ 2053 jest liczbą pierwszą.
źródło
[0, 0]
zamiast0