LES NOMBRES PREMIERS

cs_mehdibou Messages postés 365 Date d'inscription vendredi 24 mai 2002 Statut Membre Dernière intervention 18 octobre 2004 - 2 févr. 2003 à 15:38
cs_rob85 Messages postés 16 Date d'inscription samedi 7 février 2004 Statut Membre Dernière intervention 29 octobre 2006 - 13 mars 2004 à 00:44
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/13111-les-nombres-premiers

cs_rob85 Messages postés 16 Date d'inscription samedi 7 février 2004 Statut Membre Dernière intervention 29 octobre 2006
13 mars 2004 à 00:44
si je peux vous donnez un ptit conseil...
Si vous voulez faire des programmes a pour des calculs mathématiques etc,.. et qui prennent beaucoup de ressources système, je vous conseille vraiment d'essyer de les faire avec le langage 'python'... www.python.org c un langage HYPER simple et très performant...
Sinon ben merci à vous tous pour les sources php qui sont pour la plupart géniales !!
@+.
Rob.

PS: Vive le php... et bon courage pr le python !!! :D
revinc Messages postés 385 Date d'inscription mardi 15 octobre 2002 Statut Membre Dernière intervention 19 décembre 2017
5 févr. 2003 à 08:17
faire un break dans un for, je trouve que c pas très "propre", autant utiliser les structures adaptées.
cs_mehdibou Messages postés 365 Date d'inscription vendredi 24 mai 2002 Statut Membre Dernière intervention 18 octobre 2004
4 févr. 2003 à 22:35
Pour les nombres parfaits... aucun langage n'est adapté ;)

En ce qui concerne la for (), un break; suffit à sortir.
revinc Messages postés 385 Date d'inscription mardi 15 octobre 2002 Statut Membre Dernière intervention 19 décembre 2017
3 févr. 2003 à 17:40
je suis d'accord avec toi pour le $i % $j (je connaissais pas), mais le while à l'avantage par rapport au for parce que la boucle s'arrête dès que le prog trouve que le nombre n'est pas premier.

lol g aussi fait un script pour les nombres parfait, et c'était aussi un peu lent. c pas avec php qu'il faut faire ces scripts!
cs_mehdibou Messages postés 365 Date d'inscription vendredi 24 mai 2002 Statut Membre Dernière intervention 18 octobre 2004
2 févr. 2003 à 15:38
Je propose deux alternatives à ton code (il faudrait tester pour savoir ce qui est le plus performant) :
Une For() au lieu d'une While().
$i % $j !=0 au lieu de $i/$j != round($i/$j)

J'avais aussi voulu faire le même script mais pour trouver la liste des nombres parfaits... ;)
Et ça prenait un temps fou ! J'ai donc du utiliser la fonction set_time_limit() pour que mon script ne s'arrête pas au bout de 30 secondes.
Une autre limite que j'ai rencontré : la limite du type float de PHP.
J'ai du alors utiliser la libraire BC Math (=nombres de grande taille) mais ça non plus ça n'a pas suffit ;) Pour aller plus loin, il faudrait utiliser la librairie GMP (qui il me semble est illimitée)...
Rejoignez-nous