Dies ist die Sequenz A054261 .
Die te Primzahl ist die niedrigste Zahl, die die ersten Primzahlen als Teilzeichenfolgen enthält. Zum Beispiel ist die Zahl die niedrigste Zahl, die die ersten 3 Primzahlen als Teilzeichenfolgen enthält, was sie zur dritten Primzahl macht.
Es ist trivial herauszufinden, dass die ersten vier Primzahlen , , und , aber dann wird es interessanter. Da die nächste Primzahl 11 ist, ist die nächste Primzahl nicht , sondern da sie als die kleinste Zahl mit der Eigenschaft definiert ist.
Die eigentliche Herausforderung ergibt sich jedoch, wenn Sie über 11 hinausgehen. Die nächste Primzahl lautet . Beachten Sie, dass sich in dieser Nummer die Teilzeichenfolgen und überlappen. Die Nummer überschneidet sich auch mit der Nummer .11
13
3
13
Es ist leicht zu beweisen, dass diese Folge zunimmt, da die nächste Zahl alle Kriterien der Zahl davor erfüllen und eine weitere Teilzeichenfolge haben muss. Die Sequenz nimmt jedoch nicht unbedingt zu, wie die Ergebnisse für n=10
und zeigen n=11
.
Eingang
Eine einzelne Ganzzahl n>0
(ich nehme an, Sie könnten sie auch 0-indizieren lassen und dann machen n>=0
)
Ausgabe
Entweder die n
th Prim Containment-Nummer oder eine Liste mit den ersten n
Prim Containment-Nummern.
Die Zahlen, die ich bisher gefunden habe, sind:
1 => 2
2 => 23
3 => 235
4 => 2357
5 => 112357
6 => 113257
7 => 1131725
8 => 113171925
9 => 1131719235
10 => 113171923295
11 => 113171923295
12 => 1131719237295
Beachten Sie, dass n = 10
und n = 11
dieselbe Nummer sind, da die niedrigste Nummer ist, die alle Nummern , aber auch .
Da dies Code Golf markiert ist, erhalten Sie Golf! Brute-Force-Lösungen sind zulässig, aber Ihr Code muss theoretisch für jede Eingabe geeignet sein (dh, Sie können nicht nur die ersten n Primzahlen verketten). Viel Spaß beim Golfen!
P
Operator eine explizite Zuordnung, um nach Primzahlen in der Zahl zu suchen (anstatt zu prüfen, ob die Zahl im Array von Primzahlen enthalten ist)? Dies ist eine schöne Lösung, ich bezweifle, dass Sie eine Lösung mit weniger Befehlen erreichen können.