Bonjour à tous,
Si on observe le nombre premier 23 et si on le coupe en deux on obtient 2 et 3 qui sont aussi premiers.
Combien de tels premiers <1000000 trouverez-vous ?
On gardera les 0 intermédiaires si c'est le cas .
Question subsidiaire: Si on observe la différence entre les deux parties >10 , le minimum est 6 ,quelle en est l'explication ?
oups
il y avait un bug dans le programme qui ne prenait pas les tranches de 1 chiffre (le coup classique du range(n) )
Au vu des réponses de mathafou ,je pense qu'il faut préciser que couper en deux signifie par exemple:
130003--> 130 et 003 avec 130 qui n'est pas premier et 003
que l'on résume à 3 qui est premier.
La remarque sur les 0 avait déjà été faite (dans l'autre sens) par mathafou
>mathafou
le plus grand dont TOUTES les découpes possibles sont premières est celui que j'ai dit
par exemple 3137 se coupe en deux nombres premiers de toutes les façons :
3 et 137 sont deux nombres premiers
31 et 37 sont deux nombres premiers
313 et 7 sont deux nombres premiers
il y en a 7 des comme ça < 1000000
ce sont
si tu imposes que les deux morceaux soient de même taille, cela impose déja que le nombre de chiffres soit pair
et cela restreint beaucoup les solutions.
Effectivement j'aurais du préciser couper en deux par le milieu
ce qui réduit nettement le nombre de candidats.
donc soit l'un de nous en a oublié, soit l'autre en a compté en double ou pas premier
mon programme Python par force brute est basé sur la fonction nextprime(n) de sympy (et isprime(n) aussi bien sur)
il teste tous les nombres premiers de 23 ( le plus petit qui convient) au plus grand nombre premier < 1000000 qui est 999983 (et qui ne convient pas vu que 999 n'est évidement pas premier)
comparer nos résultats risque d'être fastidieux (plus de 3000)
on pourrait déja se limiter à < 10000
reste donc à voir lesquels tu aurais oublié ou lesquels j'aurais compté à tort dans ces 3000 et quelques
le test de primarité utilisé par Python est exact jusqu'à 1019 donc aucun risque qu'il décrète premier un nombre qui ne l'est pas (pseudo-premiers) dans la zone < 106
une répartition des résultats pour chaque valeur de la,tranche de gauche (168 valeurs) :
(blank pour taille d'affichage)
Ton décompte est le bon (what else !)
il me manque 16 cas pour 921 je n'en ai que 9 ,je cherche l'erreur...
Un début d'idée:
*l'écart entre les deux membres ne peut être 0 (mult de 11)
*Il n'y a pas de jumeaux donc pas d'écart 2
*Comme notre écart minimum est 6 il reste à trouver pourquoi pas d'écart 4 pourtant très fréquent dans la bande <10^6 (8144 cas)
preuve ;
10n 4 [mod 6] quel que soit n
1
les nombres premiers "assez grands" ( 5) sont
1 [mod 6]
1er cas p -1 [6] et
5,
éventuellement jumeau avec p+21 [6]
p*10n + (p+2) -4 +1
-3 [6] ne peut pas être premier
(p+2)10n + p 4-1
3 [6] non plus
il ne peut pas y avoir de jumeaux. si p5
écart de 4 :
p 1 [6] et p+4
-1 [6]
p*10n + p+4 1*4-1
3 [6] pas possible
(p+4)10n + p -1*4 + 1
-3 [6] pas possible
il ne peut pas y avoir un écart de 4 si p 5
CQFD
et je dirais même plus :
les nombres premiers 5 sont de deux classes modulo 6 (+1 ou -1)
les deux moitiés du nombre ne peuvent pas être de classe différente.
et le nombre lui même est de la classe opposée
avec exceptions pour 3 :
1*10n + 3
1*4+3
1 [6]
il n'y a à priori aucune contre indication à des nombres premiers de la forme p10n + 3
et les nombres de 2 chiffres commençant par 2 ou 3
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :