Bonjour mes très chers amis @ FUTURA-SCIENCES.
Encore une difficulté de mon côté.
Voici un petit script en javascript listant les nombres premiers de 1-N.
===========================
===========================Code HTML:[SIZE=2]<html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1252" /> <base target="_top"> <title>Distribution des nombres premiers</title> <meta content="30 days" name=Revisit-after> <meta name=ROBOTS content="INDEX,FOLLOW"> <meta http-equiv=Page-Enter content="RevealTrans(Duration=3,Transition=23)"> <meta http-equiv=Page-Exit content="RevealTrans(Duration=3,Transition=23)"> <meta http-equiv=Content-Language content=fr-be> <meta name=Title content="Logiciel de progression des nombres premiers|Mathématique"> <meta name=Created content="samedi 4 décembre 2016 - 17:55:56"> <meta name=Modified content="dimanche 4 décembre 2016 - 17:58:17"> <meta name=description content="Logiciel de progression des nombres Premiers (prime numbbers)"> <meta name=keywords content="Distribution,nombres premiers,progression,principe de l'écart,nombres premiers consécutifs,croissant,décroissant,aléatoire,moyenne des écarts,linéaire,en dents de scie"> <meta name="author" content="Dr. Jean-Baptiste Dadet DIASOLUKA Nzoyifuanga Luyalu (CNOM : 0866) - Ophtalmologiste"> <!-- ####Supprimé :auto-promotion --> <style> td{padding:0 15} </style> </head> <script> var d,dms=dMs=mm1s=mM1s=mm2s=mM2s=ds=tmp=bcg="",c=p=dt=dM=mM1=mM2=em1=em2=em1p=em2p=0,dm=mm1=mm2=9e9999,m,n,prem n=prompt("Max des nombres : ",100) tmp+="<b><h3><u>Nombres premiers, leurs écarts, les moyennes de leurs écarts, et les écarts des moyennes des écarts</u></h3> <H2>(entre 1 et "+n+")</H2></b><br><br>" tmp+="<table cellspacing=0 border=1><tr><th>#Ordre</th><th>Nb Premier</th><th>Écart</th><th>Moy Écart1</th><th>Moy Écart2</th></tr>" for(k=1;k<=n;k++){ prem=true for(m=2,l=Math.floor(k/2);m<=l;m++){ if(!(k%m)){prem=false;break} } if(prem) { if(!(c%2))bcg="eee";else bcg="" tmp+="<tr style='background:#"+bcg+"'><td>#"+ ++c+") </td><td style='text-align:center'><span style='font-size:125%;font-weight:900;color:blue'>"+k+"</span> </td>" if(c>1){ d=k-p,ds+=d+" - ",dt+=d if(dM<d){dM=d;dMs="<td>[#"+c+") </td><td><span style='font-weight:900;color:blue'>"+k+" {"+p+"}</span>]</td>"} if(dm>d){dm=d;dms="<td>[#"+c+") </td><td><span style='font-weight:900;color:blue'>"+k+"</span>]</td>"} dtsc=dt/c em1=dtsc-em1p if(mM1<dtsc){mM1=dtsc;mM1s="<td>[#"+c+") </td><td><span style='font-weight:900;color:blue'>"+k+"</span>]</td>"} if(mm1>dtsc){mm1=dtsc;mm1s="<td>[#"+c+") </td><td><span style='font-weight:900;color:blue'>"+k+"</span>]</td>"} dtscm1=dt/(c-1) em2=dtscm1-em2p if(mM2<dtscm1){mM2=dtscm1;mM2s="<td>[#"+c+") </td><td><span style='font-weight:900;color:blue'>"+k+"</span>]</td>"} if(mm2>dtscm1){mm2=dtscm1;mm2s="<td>[#"+c+") </td><td><span style='font-weight:900;color:blue'>"+k+"</span>]</td>"} tmp+="</td><td><span style='font-weight:900;color:blue'>(E= "+d+")</span> </td><td>"+dt+"/"+c+" = <span style='font-weight:900;color:darkgreen'>"+dtsc+"</span> (Em1 = " if(em1<em1p)tmp+="<b style='color:magenta'>";if(em1<0)tmp+="<span style='color:red'>" tmp+=em1 if(em1<em1p)tmp+="</b>";if(em1<0)tmp+="</span>" tmp+=") </td><td>"+dt+"/"+(c-1)+" = <span style='font-weight:900;color:navy'>"+dtscm1+"</span> (Em2 = " if(em2<em2p)tmp+="<b style='color:magenta'>";if(em2<0)tmp+="<span style='color:red'>" tmp+=em2 if(em2<em2p)tmp+="</b>";if(em2<0)tmp+="</span>" tmp+=")</td>" em1p=em1;em2p=em2 } else tmp+="<td> </td><td> </td><td> </td>" p=k tmp+="</tr>" } } tmp+="</table>" tmp+="<br><b><u>Pour les Premiers entre 1 et "+n+"</u></b>.<br><b><u>E Max</u> =</b> <b style='color:red'>"+dM+"</b> "+dMs+" |||| <b><u>E min</u> =</b> <b style='color:red'>"+dm+"</b> "+dms tmp+="<br><b><u>moy1 Max</u> =</b> <b style='color:red'>"+mM1+"</b> "+mM1s+" |||| <b><u>moy1 min</u> =</b> <b style='color:red'>"+mm1+"</b> "+mm1s tmp+="<br><b><u>moy2 Max</u> =</b> <b style='color:red'>"+mM2+"</b> "+mM2s+" |||| <b><u>moy2 min</u> =</b> <b style='color:red'>"+mm2+"</b> "+mm2s tmp+="<br><br><b><u>Les différents écarts</u> :</b> (que vous pouvez plotter)<br>"+ds document.write(tmp) </script>[/SIZE]
1. Permet-il d'édicter le principe de l'écart entre deux nombres premiers consécutifs ?
(moi je n'en trouve pas, et cet écart n'est ni croissant, ni décroissant, mais apparemment aléatoire, l'écart entre deux nombres aléatoires consécutifs plus grands n'étant pas nécessairement plus grand qu'entre deux nombres consécutifs plus petits).
2. Pourquoi la progression de la moyenne des écarts n'est pas linéaire mais en dents de scie ?
(les Em1 ety Em2 en gras-Magenta).
3. L'écart maximal entre deux nombres premiers consécutifs semble augmenter avec le nombre le plus grand des nombres premiers de 1 à ce nombre.
Pour les Premiers de 1 à 10 l'écart maximal entre deux nombres premiers consécutifs est de 2, entre le 4è (5) et le 3è (3) premiers :
E Max = 2 [#4) 5 {3}
4/2 = 2 : Le quotient du numéro d'ordre du plus petit nombre premier (qui donne l'écart le plus grand avec son prédécesseur) et le nombre premier de ce numéro d'ordre augmente quand on s'éloigne vers l'infini (2, 3.25, 7.8, 32.92, 47.04, 359.08... peut-être existe-t-il une relation entre ces nombres ?)
Pour les Premiers de 1 à 100 l'écart maximal est de 8, entre le 26è (97) et le 25è (89) premiers :
E Max = 8 [#26) 97 {89}]
26/8 = 3,25
Pour les Premiers de 1 à 1'000 l'écart maximal est de 20, entre le 156è (907) et le 1555è (887) premiers :
E Max = 20 [#156) 907 {887}]
156/20 = 7,8
Pour les Premiers de 1 à 10'000 (1e4) l'écart maximal est de 36, entre le 1185è (9587) et le 1184è (9551) premiers :
E Max = 36 [#1185) 9587 {9551}]
1185/36 = 32,92
Pour les Premiers de 1 à 100'000 (1e5) l'écart maximal est de 72, entre le 3387è (31469) et le 3386è (31397) premiers :
E Max = 72 [#3387) 31469 {31397}]
3387/72 = 47,04
Pour les Premiers de 1 à 1'000'000 (1e6) l'écart maximal est de 114, entre le 40935è (492227) et le 40934è (492113) premiers :
E Max = 114 [#40935) 492227 {492113}]
40935/114 = 359,08
À partir de N=1e6 ça prend énormément de temps avec mon ordinateur, avec menace de plantage :
Intel(R) Core(TM) i5-2320 CPU @ 3.00GHz 3.00 GHz
6.00 Go (2.95 Go utilisable)
Windows 10 Professionnel.
4. On semble constater aussi que le quotient entre le plus petit nombre premier qui donne l'écart maximal avec son prédécesseur, et son numéro d'ordre, augmente quand on avance vers l'infini, et pour les ensembles des premiers entre 1 à 1e4, 1 à 1e5, 1 à 1e6 (ce rapport est vosin de 10 et progressivement plus grand).
5. À partir des nombres Premiers de 1 à 10'000 jusqu'aux nombres premiers de 1 à 1e6, l'écart maximal DOUBLE carrément (36, 72, 114), ...
6. À partir de ce programme, pouvez-vous m'aider à tirer quelques règles pertinentes sur les nombres premiers ?
7. Et enfin, existe-t-il un algorithme plus simple pour déterminer si un nombre est Premier ou pas, et/ou éventuellement les lister ?
Cordial Merci pour votre patience à lire toutes ces fastidieuses lignes, et surtout de votre intervention.
-----