Bonjour,
J'ai un problème de recherche de nombres premiers, mais je me heurte à de gros problèmes d'optimisation : mon code (en python, mais ça n'a pas d'importance) ne pourra pas résoudre le problème avant au mieux quelques années.
Si quelqu'un peut me donner un coup de main sur la façon d'optimiser ça, mathématiquement et/ou algorithmiquement, ce serait vraiment sympa.
Problème :
Le trio de nombres premiers (3, 37, 67) possède une propriété intéressante. Si on concatène deux de ses nombres, on obtient toujours un nombre premier (337, 367, 373, 673, 3767, 6737 sont tous premiers).
Le quadruplet (3, 7, 109, 673) possède également cette propriété.
Intéressons-nous aux quintuplets la possédant. Plus particulièrement au quintuplet (p1, p2, p3, p4, p5) défini ainsi :
p1, p2, p3, p4 et p5 sont des nombres premiers
p1 < p2 < p3 < p4 < p5
Si on concatène deux nombres du quintuplet, on obtient toujours un nombre premier
La somme S=p1+p2+p3+p4+p5 est la plus petite possible qui soit supérieure à 100 000
J'ai la liste des nombres premiers de 2 à 100k, car j'ai supposé que la solution comprenait probablement uniquement des nombres inférieurs à 100k, mais c'est une pure supposition.
J'ai la liste des nombres premiers de 2 à 1 milliard
Et je l'ai également triée par longueur (donc tous les nombres premiers inférieurs à 10, de 10 à 99, de 100 à 999, etc...
Merci d'avance







Répondre avec citation






Partager