Nun, der Bibliothekar hat Sie erwischt, als Sie mit Ihrem Sortieralgorithmus Ihren Job betrogen haben , und jetzt werden Sie bestraft. Sie wurden angewiesen, Code zu erstellen, damit der Bibliothekar das Objekt seiner unerwiderten Zuneigung, den Mathematiklehrer, beeindrucken kann. Das ist also, was "Andere Aufgaben als zugewiesen" bedeutet ...
Jeder kennt die natürliche Zahlenfolge in der Basis 10 mit der Bezeichnung N :
0, 1, 2, 3, 4, 5, 6, ...
Daraus können wir die Primzahlenfolge erzeugen, nennen wir sie P , so dass jedes Element in P genau zwei Teiler in N hat , nämlich 1
und sich selbst. Diese Sequenz ist:
2, 3, 5, 7, 11, 13, ...
OK, bis jetzt ziemlich routinemäßig.
Der Bibliotheks Gedanken einer geschickten Funktion F (x, y) , die eine Zahl nimmt x
von N , mit der Bedingung 0 <= x <= 9
, und eine Anzahl y
von N , und Einsätze x
in y
‚s Dezimaldarstellung in jeder Position (dh das Voranstellen, Einfügen oder Anfügen x
in y
) und gibt dann den sortierten Satz neuer Nummern zurück.
Zum Beispiel würde F (6, 127) ergeben
1267, 1276, 1627, 6127
Das ist aber immer noch langweilig. Die Bibliothekarin will etwas aufzupeppen ein wenig mehr durch , anstatt eine neue Funktion spezifizieren z -> {p : p in P and F(z,p) subset of P}
, aufsteigend sortiert.
Beispielsweise z (7) wäre,
3, 19, 97, 433, 487, 541, ...
denn 37
und 73
sind beide Primzahlen 719
179
und 197
sind alle Primzahlen usw.
Beachten Sie, dass z (2) leer ist, da keine Primzahl, an die ein 2
Anhang angehängt ist, jemals noch eine Primzahl sein wird. Ähnliches gilt für {0,4,5,6,8}.
Ihre Aufgabe ist es, Code zu schreiben, der die ersten 100 Zahlen für ein gegebenes x in der Reihenfolge z (x) generiert und ausgibt .
Eingang
Eine einzelne ganze Zahl x, so dass 0 <= x <= 9
. Die Eingabe kann über ein Funktionsargument, STDIN oder ein Äquivalent erfolgen.
Ausgabe
Eine Folge der ersten 100 Zahlen, die durch Ihre Wahl auf STDOUT oder ein Äquivalent begrenzt sind, sodass die Folge z (x) wie oben beschrieben erfüllt . Wenn z (x) leer ist, wie es für {0,2,4,5,6,8} der Fall ist, Empty Set
sollten stattdessen die Wörter ausgegeben werden.
Beschränkungen
- Dies ist Code-Golf, da Sie dies auf eine Karteikarte übertragen müssen, damit der Bibliothekar dem Mathematiklehrer zeigen kann, und Ihre Hand leicht verkrampft.
- Es gelten die üblichen Lückenbeschränkungen. Der Bibliothekar toleriert keine Betrüger.
Referenzsequenzen
x = 1: A069246
x = 3: A215419
x = 7: A215420
x = 9: A215421
Verwandte Themen: Ermitteln der größten fragilen Primzahl / Ermitteln der kleinsten Primzahl aus einer Teilzeichenfolge / Ermitteln der größten Primzahl, die nach dem Löschen der Ziffern immer noch eine Primzahl ist
"
ist unnötig, aber sehr schöne Arbeit.