ChronoMath, une chronologie des MATHÉMATIQUES
à l'usage des professeurs de mathématiques, des étudiants et des élèves des lycées & collèges

Recherche de nombres premiers de Sophie Germain

Il est clair que 2, 3 et 5 sont des nombres premiers de Sophie Germain (entiers premiers n tels 2n + 1 le soit aussi). Le programme cherche de tels nombres à partir de 11 et inférieurs à 200. Il est aisé de changer ces bornes dans le fichier source.

Programme en JavaScript

<SCRIPT LANGUAGE=JavaScript>

var p,t
function sophie()
{
n=10
while (n<=200)
{
n=n+1;p=n;t=prem()
if (t==1)
{p =2*n + 1 ; t=prem()
if (t==1)
{
if (!confirm(n+
" est un nombre premier de Sophie Germain")) return
}
}
}
}
function prem()
{
d=1 ; a=0 ; rst = 1; rst2=1; t=0
if (p % 3 != 0)
{
while (d*d<=p && rst*rst2 >0)
{a++
d=6*a-1 ; rst = p % d
d = d+2 ; rst2 = p % d
}
if(rst==0 || rst2==0) {t=0} else {t=1}
}
return t
}
</SCRIPT>

Rappel : || est le" OU logique", && est le "ET logique", != signifie "différent de".

   La fonction prem() est identique à celle étudiée dans la recherche de primarité d'un nombre donné.




      Code HTML du formulaire permettant de lancer les calculs à la demande :

<FORM ACTION="" METHOD=POST>
<CENTER>
<HR>
<INPUT TYPE=button NAME=Bouton VALUE="Lancer le programme" onclick="sophie()">
<HR>
</CENTER>
</FORM>

 


© Serge Mehl - www.chronomath.com