NOMBRE PREMIER

Signaler
Messages postés
172
Date d'inscription
lundi 30 avril 2001
Statut
Membre
Dernière intervention
6 avril 2003
-
Messages postés
1
Date d'inscription
mercredi 6 décembre 2000
Statut
Membre
Dernière intervention
21 octobre 2009
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/12864-nombre-premier

Messages postés
1
Date d'inscription
mercredi 6 décembre 2000
Statut
Membre
Dernière intervention
21 octobre 2009

Bon désolé de dire ça mais c'est très mal codé, voilà une simplification du code, on y vois plus clair et c'est plus rapide..

<?PHP

for($n = 666663; true; $n++)
{
for($d = $n - 1; $d > 1; $d--){
if($n % $d == 0) continue(2);
}
break;
}

echo $n;

?>
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
39
Que dire...
je me baladais par curiosite...
ca n'a rien d'initie... ok ca a 5 ans, mais bon, vive le typage des variables...
if ("$verif2" == "$verif") pour des variables numeriques c'est top...
Messages postés
59
Date d'inscription
lundi 31 décembre 2001
Statut
Membre
Dernière intervention
11 mai 2006

Yep, c'est une idée ... mais j'ai fait le code pour un crous d'info et il nous demandait de faire comme ca et je n'ai pas pris le temps de l'améliorer avant de le mettre ici ...

Mais c'est une idée à creuser ...
Messages postés
172
Date d'inscription
lundi 30 avril 2001
Statut
Membre
Dernière intervention
6 avril 2003

Tu pourrais améliorer grandement le temps d'execution de ton algo simplement en mettant :
$d = round($d /2);
à la place de :
$d = $d -1;
Pour éviter de faire les tests des chiffres pour lequels ont est sur qu'il n'y a pas de correspondance. Par exemple les chiffres de 50 à 100