// la partie facile ..
si n<2 alors
retourner faux
fin si
si n == 2
retourner vrai
fin si
si (n modulo 2) == 0
retourner faux
fin si
// la partie compliqué
pour i de 2 jusqu'a I(n/2)I (partie entiere de n/2)
// j'hesite avec racine carre de n sqrt(n)
si (n != i) et (n modulo i) ==0
retourner faux
fin si
fin pour
retourner vrai
votre opinion ? ça m’a l’air correct mais un second avis est toujours mieux …
est ce que ca reste valable avec sqrt(n) ??
J’imagine donc que le but est de voir si n est premier ?
Une boucle tant que te permet d’arrêter de chercher dès que tu as trouvé un diviseur pour n (pas la peine d’aller plus loin puisqu’il n’est pas premier)
Pour racine carrée de n, je ne comprends pas :??:
pour i de 2 jusqu'a I(n/2)I (partie entiere de n/2)
// j'hesite avec racine carre de n sqrt(n)
si (n != i) et (n modulo i) ==0
retourner faux
fin si
fin pour
des qu’il voit qu’il n’est pas premier il renvoi faux et sort de la boucle et de la fonction
Y a pas comme une petite contradiction dans ce qu tu appelles "la partie facile" ?
Si n=2 alors renvoyer "Vrai" et si (n modulo 2) = 0 alors renvoyer "Faux"…
Tel qul, on a à la fois vrai et faux pour n=2.
Ca revient un peu à la confusion que je faisais plus haut…
2 est un cas particulier et c’est pour ça qu’il le traite à part.
Si n=2 alors le programme s’arrête puisqu’il y a “retourner vrai”
edit : c’est comme mettre “retourner” dans une boucle for, moi je préfère une boucle while mais ça fait pareil