Herausforderung
Suchen Sie für einen bestimmten Bereich positiver Ganzzahlen die erste und letzte Primzahl, die vollständig aus Primzahlen besteht, ausnahmsweise einschließlich 0 (für die Ziffern sollte ein Bereich von 0-2 2-2 ausgeben). Das Sortiment ist inklusive. Wenn keine Nummer gefunden wird, ist die erwartete Ausgabe 0. Wenn es nur eine solche Nummer gibt, ist die erwartete Ausgabe diese Nummer zweimal.
Beispiele
- Für den Bereich von 1 bis 100 ist die erste Primzahl 2 und die letzte 73 (7 und 3 sind Primzahlen).
- Für den Bereich 70–80 ist die erste Primzahl 73 und die letzte ist ebenfalls 73 (Da es in dem angegebenen Bereich nur eine richtige Zahl gibt, geben wir sie zweimal zurück).
- Für den Bereich 190-200 gibt es keine richtige Antwort, daher geben Sie 0 zurück.
- Für den Bereich 2000-2100 ist die erste Primzahl 2003 und die letzte 2053 (wir lassen die Ziffer 0 weg, aber alle anderen Ziffern sind Primzahlen).
Das ist Code-Golf , also gewinnt der kürzeste Code in Bytes!
Es gelten alle Standardlücken.
Eingang
- Es steht Ihnen frei, zwei Ganzzahlen als Eingabe zu akzeptieren, wie auch immer Sie es für richtig halten, Stapel, Funktionsargument (e), CLI-Argument, stdin.
- Sie müssen nur zwei ganze Zahlen erhalten.
Ausgabe
- Sie müssen entweder das Ergebnis zurückgeben (ein Tupel, ein Array, Multi-Return, wenn Ihre Sprache es unterstützt), es auf dem Stapel belassen oder es ausdrucken (in diesem Fall müssen sie irgendwie getrennt sein).
- Die Reihenfolge der Ausgänge spielt keine Rolle.
- Führende / nachfolgende Klammern und Zeilenumbrüche sind erlaubt.
- Sie müssen zwei Zahlen zurückgeben, wenn es eine Antwort gibt, auch wenn sie gleich sind.
- Sie müssen 0 zurückgeben, wenn keine Antwort erfolgt.
0
statt[0]
?Antworten:
Python 2 , 123 Bytes
Probieren Sie es online!
quelle
Perl 6,
105949086 Bytesquelle
JavaScript (ES6), 83 Byte
Übernimmt den Bereich [ab] in der Currying-Syntax
(a)(b)
. Gibt entweder ein Array mit 2 Elementen oder 0 zurück .Testfälle
Code-Snippet anzeigen
quelle
Mathematica, 91 Bytes
Probieren Sie es online!
quelle
Gelee , 14 Bytes
Probieren Sie es online!
Wie es funktioniert
Wenn der gesamte Bereich zulässig wäre (obwohl ich denke, dass dies nicht der Fall sein sollte), dann 12 Bytes:
Probieren Sie es online!
quelle
For a given positive integers range
. Ich bitte um Klarstellung0
ist die Ausnahme von der Herausforderung, da sie aus irgendeinem Grund als Primziffer behandelt werden sollte). Jedenfalls habe ich eine kürzere und gültige Version gepostetBrachylog , 16 Bytes
Probieren Sie es online!
Die völlig unsinnige "return 0 wenn es keine Primzahl gibt" lässt uns 3 Bytes (
|∧0
) ohne Grund verlieren (es würde zurückkehren,false.
wenn wir sie nicht addieren)Erläuterung
quelle
[2000, 2100]
Pyth , 24 Bytes
Die Verwendung meines anfänglichen Ansatzes fällt kürzer aus.
Probieren Sie es hier aus!
(Ich habe gerade auf 23 aktualisiert, aber Steven hat mich geschlagen )
Probieren Sie es hier aus!
Natürlich,
hM_BK
kann durch ersetzt werden,hKeK
.25 Bytes
Probieren Sie es hier aus!
26 Bytes
Probieren Sie es hier aus!
Probieren Sie es hier aus!
Wie sie arbeiten
quelle
Mathematica 85 Bytes
Ich weiß, dass es bereits eine ähnliche Antwort gibt, aber der Ansatz hier ist ganz anders.
Diese Antwort mit 83 Zeichen wird in Mathematica eingefügt und ausgeführt. Die TIO-Site kann ∞ nicht interpretieren.
quelle
Gelee , 14 Bytes
Probieren Sie es online!
Vielen Dank an Erik den Outgolfer für die Hilfe bei der Behebung eines Fehlers. Danke an Mr. Xcoder für den
.ị
Trick.quelle
ṙ-ḣ2
funktionieren, umḢ,Ṫ
das Problem zu beheben (müsste möglicherweise etwas mehr geändert werden)?.ị
könnte auch funktionieren (Art von Herrn XCoder gestohlen)Ruby , 87 Bytes
Probieren Sie es online!
quelle
CJam , 36 Bytes
Probieren Sie es online!
quelle
Perl 6 ,
68 66 65 6158 BytesVersuch es
Versuch es
Versuch es
Versuch es
Versuch es
Erweitert:
quelle
Perl 5 , 79 + 2 (
-ap
) = 81 BytesProbieren Sie es online!
quelle
Java 8,
165164 BytesErläuterung:
Probieren Sie es hier aus.
quelle
Sauber ,
142131125 BytesUngolfed:
Probieren Sie es online!
quelle
Pyth,
282523 BytesTestsuite. Gibt [2003,2053] für den letzten Testfall zurück, da 2053 die Primzahl ist.
quelle
[0, 0]
statt0