Insbesondere das PRIMEGAME von Conway .
Dies ist ein Algorithmus, der von John H. Conway entwickelt wurde, um Primzahlen mit einer Folge von 14 rationalen Zahlen zu erzeugen:
A B C D E F G H I J K L M N
17 78 19 23 29 77 95 77 1 11 13 15 15 55
-- -- -- -- -- -- -- -- -- -- -- -- -- --
91 85 51 38 33 29 23 19 17 13 11 14 2 1
Zum Beispiel ist F der Bruch 77/29
.
So findet der Algorithmus die Primzahlen. 2
Suchen Sie ausgehend von der Zahl den ersten Eintrag in der Sequenz, der bei Multiplikation eine ganze Zahl ergibt. Hier ist es M
, 15/2
, die produziert 15
. 15
Suchen Sie dann für diese Ganzzahl den ersten Eintrag in der Sequenz, der bei Multiplikation eine Ganzzahl ergibt. Das ist der letzte N
, oder 55/1
, der nachgibt 825
. Schreiben Sie die entsprechende Reihenfolge auf. (Die Schlauen unter Ihnen können dies als ein FRACTRAN- Programm erkennen.)
Nach einigen Iterationen erhalten Sie Folgendes:
2, 15, 825, 725, 1925, 2275, 425, 390, 330, 290, 770, 910, 170, 156, 132, 116, 308, 364, 68, 4 ...
Beachten Sie, dass das zuletzt aufgeführte Element 4
oder ist 2^2
. Schauen Sie sich unsere erste 2
mit diesem Algorithmus erzeugte Primzahl (den Exponenten) an! Schließlich sieht die Sequenz folgendermaßen aus:
2 ... 2^2 ... 2^3 ... 2^5 ... 2^7 ... etc.
So ergeben sich die Primzahlen. Dies ist OEIS A007542 .
Die Herausforderung
Bei einer eingegebenen Nummer n
, entweder null- oder einsindiziert (Ihre Wahl), geben Sie entweder die ersten n
Nummern dieser Sequenz oder die n
th-Nummer dieser Sequenz aus.
Beispiele
In den folgenden Beispielen wird der n
dritte Term der nullindexierten Sequenz ausgegeben.
n output
5 2275
19 4
40 408
Regeln
- Gegebenenfalls können Sie davon ausgehen, dass die Eingabe / Ausgabe in den systemeigenen Integer-Typ Ihrer Sprache passt.
- Die Eingabe und Ausgabe kann durch jede bequeme Methode erfolgen .
- Es ist entweder ein vollständiges Programm oder eine Funktion zulässig. Bei einer Funktion können Sie die Ausgabe zurückgeben, anstatt sie zu drucken.
- Standardlücken sind verboten.
- Dies ist Codegolf, daher gelten alle üblichen Golfregeln, und der kürzeste Code (in Byte) gewinnt.
408.0
statt 408
zum Beispiel.