Ein Emirp ist eine nicht-palindrome Primzahl, die umgekehrt auch eine Primzahl ist.
Die Liste der Basis-10-Emirps finden Sie auf OEIS . Die ersten sechs sind:
13, 17, 31, 37, 71, 73
Aufgrund der Umkehrregel unterscheiden sich die Emirps jedoch in jeder Basis. Zum Beispiel sind die ersten sechs binären Emirps:
Bin | 1011, 1101, 10111, 11101, 101001, 100101
Dec | (11 , 13 , 23 , 29 , 37 , 41 )
... und hexadezimal sind dies:
Hex | 17, 1F, 35, 3B, 3D, 53
Dec | (23, 31, 53, 59, 61, 83)
Fun Fact: Es gibt keine emirps in einstelligen als jede Zahl ein Palindrom ist.
Die Herausforderung
Ihre Aufgabe ist es, eine Funktion (oder ein vollständiges Programm) zu erstellen, die die beiden Parameter und und eine Liste der ersten Emirps in der Basis .
Regeln / Details:
- und sind beide positive ganze Zahlen größer als .
- Sie können annehmen , dh die Basis liegt zwischen binär und hexadezimal.
- Sie sollten in der Lage sein, für Werte von bis zu 100 zu berechnen .
- Die generierte Liste kann sich in der Basis oder in der Standard-Ganzzahlbasis Ihrer Sprache befinden, sofern Sie dies in Ihrer Antwort angeben.
- Eingebaute Emirp-Prüfungen sind nicht zulässig (eingebaute Primalitätstests sind in Ordnung).
- Sie können die Emirps nicht fest codieren oder aus externen Dateien lesen.
- Standardlücken sind wie immer verboten.
- Das ist Code-Golf , also gewinnt die kürzeste Antwort (in Bytes).
Testfälle
Für jeden Testfall habe ich die Liste in base b
und ihre 10-Äquivalente aufgenommen.
B = 2, N = 10
BIN: [1011, 1101, 10111, 11101, 100101, 101001, 101011, 101111, 110101, 111101]
DEC: [11, 13, 23, 29, 37, 41, 43, 47, 53, 61]
B = 3, N = 5
BASE3: [12, 21, 102, 201, 1011]
DEC: [5, 7, 11, 19, 31]
B = 12, N = 7
BASE12: [15, 51, 57, 5B, 75, B5, 107]
DEC: [17, 61, 67, 71, 89, 137, 151]
B = 16, N = 4
HEX: [17, 1F, 35, 3B]
DEC: [23, 31, 53, 59]
Sie können Ihr Programm weiter mit meinem (ungolfed) Python-Beispiel auf repl.it testen