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

Listing du programme de décomposition en facteurs premiers

<SCRIPT LANGUAGE=JavaScript>
function go()
{
nbr=""   
// le nombre donné est nbr
decomp = new String()      
// decomp sera la chaîne de caractères égale à la décomposition primaire cherchée.
nbr=eval(prompt("Entrez un nombre:",nbr))   
if(nbr==null) return
if(nbr==2 || nbr==3 || nbr==5 || nbr==7) {alert("Un peu de sérieux, ce cas est trivial !");return}
copynbr=nbr;

//---------------------------------------------   test division par 2

expo=0
while(nbr % d==0){expo=expo+1;nbr=nbr/2} 
 // le nombre donné est divisé par 2 autant que possible
if (expo==1){decomp=decomp+"2"}
if (expo>1){decomp=decomp+"2^"+expo}

//---------------------------------------------  test division par 3

expo=0;
while(nbr % d==0){expo=expo+1;nbr=nbr/3}     
// le nombre résultant des divisions par 2 est divisé par 3 autant
                                                                                           que possible

if (expo==1){if (decomp==""){decomp="3"}else{decomp=decomp+" x 3"}}
if (expo>1){if (decomp==""){decomp="3^"+expo}else{decomp=decomp+" x 3^"+expo}}

//---------------------------------------------  test division par 6a ± 1

d=0;a=0;
while (d*d<=nbr)
{
a++                       
// a = 1, 2, ...
d=6*a-1;test()        
// dans le sous-programme test(), le nombre résultant est divisé par d = 6a - 1 autant que possible
d = d+2 ; test()      
//  dans le sous-programme test(), le nombre résultant est divisé par d = 6a + 1 autant que possible
}

//---------------------------------------------

if(decomp==""){alert(copynbr+" est premier !");return}
if(nbr==1){alert(copynbr+" = "+decomp)} else {alert(copynbr+" = "+decomp+" x "+nbr)}
}

//---------------------------------------------

function test()
{
expo=0
while(nbr % d==0){expo=expo+1;nbr=nbr/d}
if (expo==1){if (decomp==""){decomp=d}else{decomp=decomp+" x "+d}}
if (expo>1){if (decomp==""){decomp=d+"^"+expo}else{decomp=decomp+" x "+d+"^"+expo}}
}

//---------------------------------------------    // pour ouvrir cette page

function list()
{open ("../anx/listing_decomp_fact_prem.html","BasDroit")}


</SCRIPT>

JavaScript dans ChronoMath :


© Serge Mehl - www.chronomath.com