Il s'agit de la séquence A054261 .
Le ème nombre de confinement premier est le plus petit nombre qui contient les premiers nombres premiers comme sous-chaînes. Par exemple, le nombre est le nombre le plus bas qui contient les 3 premiers nombres premiers comme sous-chaînes, ce qui en fait le 3ème nombre de confinement principal.
Il est trivial de comprendre que les quatre premiers nombres premiers de confinement sont , , et , mais cela devient plus intéressant. Étant donné que le premier nombre premier est 11, le numéro de confinement premier suivant n'est pas , mais il est car il est défini comme le plus petit nombre avec la propriété.
Cependant, le vrai défi vient quand vous allez au-delà de 11. Le prochain nombre de confinement principal est . Notez que dans ce nombre, les sous - chaînes et se chevauchent. Le nombre chevauche également le nombre .11
13
3
13
Il est facile de prouver que cette séquence est en augmentation, car le nombre suivant doit remplir tous les critères du nombre précédent et avoir une sous-chaîne de plus. Cependant, la séquence n'est pas strictement croissante, comme le montrent les résultats pour n=10
et n=11
.
Contribution
Un seul entier n>0
(je suppose que vous pourriez aussi l'avoir indexé 0, puis faire n>=0
)
Production
Soit le n
numéro de confinement principal, soit une liste contenant les n
premiers numéros de confinement principaux.
Les chiffres que j'ai trouvés jusqu'à présent sont les suivants:
1 => 2
2 => 23
3 => 235
4 => 2357
5 => 112357
6 => 113257
7 => 1131725
8 => 113171925
9 => 1131719235
10 => 113171923295
11 => 113171923295
12 => 1131719237295
Notez que n = 10
et n = 11
sont le même nombre, puisque est le nombre le plus bas qui contient tous les nombres , mais il contient également .
Puisqu'il s'agit du golf à code marqué, faites du golf! Les solutions de force brute sont autorisées, mais votre code doit fonctionner pour n'importe quelle entrée en théorie (ce qui signifie que vous ne pouvez pas simplement concaténer les n premiers nombres premiers). Bon golf!
P
opérateur crée-t-il un mappage explicite pour vérifier les nombres premiers dans le nombre (au lieu de vérifier si le nombre est dans le tableau des nombres premiers)? C'est une belle solution, je doute que vous puissiez faire n'importe quelle solution en utilisant moins de commandes.