Ich weiß, ich weiß, noch eine Herausforderung für Primzahlen ...
Ein einsames (oder getrennt) prime eine Primzahl ist, p
so dass p-2
, p+2
, p-4
, p+4
... p-2k
, p+2k
für einen Teil k
aller Verbund sind. Wir nennen eine solche Primzahl eine k
th-mal isolierte Primzahl.
Zum Beispiel ist eine fünffach isolierte Primzahl 211
, da alle zusammengesetzt 201, 203, 205, 207, 209, 213, 215, 217, 219, 221
sind. ( p-2*5=201
, p-2*4=203
, Etc.)
Herausforderung
Geben Sie bei zwei Eingabe-Ganzzahlen und n > 3
und k > 0
die kleinste k
th-mal isolierte Primzahl aus, die streng größer als ist n
.
Zum Beispiel sollte für k = 5
und in jedem n
Bereich 4 ... 210
der Ausgang sein 211
, da dies die kleinste fünffach isolierte Primzahl ist, die streng größer als der Eingang ist n
.
Beispiele
n=55 k=1
67
n=500 k=1
503
n=2100 k=3
2153
n=2153 k=3
2161
n=14000 k=7
14107
n=14000 k=8
14107
Regeln
- Falls zutreffend, können Sie davon ausgehen, dass die Eingabe / Ausgabe in den nativen Integer-Typ Ihrer Sprache passt.
- Die Eingabe und Ausgabe kann durch jede bequeme Methode erfolgen .
- Entweder ein vollständiges Programm oder eine Funktion sind akzeptabel. Wenn es sich um eine Funktion handelt, können Sie die Ausgabe zurückgeben, anstatt sie zu drucken.
- Standardlücken sind verboten.
- Dies ist Code-Golf, daher gelten alle üblichen Golfregeln, und der kürzeste Code (in Bytes) gewinnt.
code-golf
number-theory
primes
AdmBorkBork
quelle
quelle
k
Th- Times -Isolated ist per Definition auch eink-1
Th-k-2
Th usw.Antworten:
Gelee ,
1713 BytesProbieren Sie es online aus!
Wie es funktioniert
quelle
Schale , 13 Bytes
Probieren Sie es online aus!
Erläuterung
Ziemlich einfach.
quelle
Java 8,
144143 BytesErläuterung:
Probieren Sie es online aus.
quelle
Python 2 ,
105104 Bytes-1 Byte dank Ovs
Probieren Sie es online aus!
quelle
Stax , 14 Bytes
Führen Sie es aus und debuggen Sie es
Dies ist die entsprechende ASCII-Darstellung.
quelle
JavaScript (Node.js) ,
949289 ByteProbieren Sie es online aus!
Auf mysteriöse Weise führen weitere Golfplätze zu einem Stapelüberlauf. Nur das funktioniert bei der Größe von 14000.Endlich ein Golf, der bei 14000 nicht zu einem Stapelüberlauf führt.
Erläuterung
quelle
C (gcc) , 113 Bytes
Probieren Sie es online aus!
quelle
Ruby +
-rprime
,73716157 BytesProbieren Sie es online aus!
Es fühlt sich gut an zu lernen! Ich
verwende dieSich im Unkraut der lustigen Techniken verlieren ...Integer#[]
undredo
Techniken, die ich hier auf PPCG gelernt habe.-1 Byte: Verwenden Sie
n%2
anstelle vonn[0]
, um das niedrigstwertige Bit zu erhalten. Danke, Asone Tuhid !-1 Byte: Verwenden Sie einen ternären Operator anstelle eines booleschen Ausdrucks. Danke, Asone Tuhid !
-10 Bytes: Verwenden Sie den XOR-Operator, um ein
.prime?
zweimaliges Tippen zu vermeiden ... Dies ist genau die Antwort von Asone Tuhid wie meine jetzt :)-4 Bytes: Es schadet nicht, gerade Werte von zu überprüfen
n
. Asone Tuhid ist nonstop.Ungolfed:
quelle
-rprime
, 73 Bytesn%2
ist kürzer alsn[0]
in diesem Fall und?...:
kann kürzer sein als&&...||
n%2+
" nutzlos warPari / GP , 55 Bytes
Probieren Sie es online aus!
quelle
Perl 6 , 63 Bytes
Probieren Sie es online aus!
quelle