Ici tu fais ton test sur "n" nom ?Morgan a écrit : Tant que \(D \leq E(\sqrt{n})\) et S=0
Si partie décimale \((\frac{n}{D})\)=0
Alors S prend la valeur 1
Sinon D prend la valeur D+1
Fin Si
Fin Tant que
Si S=0
Alors afficher "true"
Sinon afficher "false"
Fin Si
Donc, lorsque tu inclus cela dans ta boucle :
Tu ne fais que tester sur "n" en boucle (donc tu fais (n-2) fois le test sur le même nombre "n" ... n'est-ce pas j qui doit être testé ? (C'est j qui parcourt les nombres de 2 à n....)Morgan a écrit : Pour j allant de 2 à n
.
.
.
FinPour
Prends un exemple avec n = 6 :
On recommence la boucle "Pour" avec une autre couleurMorgan a écrit : Lire n n = 6
Pour j allant de 2 à n j=2
S prend la valeur 0
D prend la valeur 2
Tant que \(D \leq E(\sqrt{n})\) et S=0 \(2 \leq \sqrt{6}\) et S = 0
Si partie décimale \((\frac{n}{D})\)=0 6/2 = 3
Alors S prend la valeur 1 donc S=1
Sinon D prend la valeur D+1
Fin Si
Fin Tant que On recommence mais S=1 donc fin du "Tant que"
Si S=0 Faux
Alors afficher "true"
Sinon afficher "false" "false" 6 n'est pas premier !
Fin Si
FinPour
On recommence la boucle "Pour" avec une autre couleurMorgan a écrit : Pour j allant de 2 à n j=3
S prend la valeur 0
D prend la valeur 2
Tant que \(D \leq E(\sqrt{n})\) et S=0 \(2 \leq \sqrt{6}\) et S = 0
Si partie décimale \((\frac{n}{D})\)=0 6/2 = 3
Alors S prend la valeur 1 donc S=1
Sinon D prend la valeur D+1
Fin Si
Fin Tant que On recommence mais S=1 donc fin du "Tant que"
Si S=0 Faux
Alors afficher "true"
Sinon afficher "false" "false" 6 n'est pas premier !
Fin Si
FinPour
Comprends-tu le problème ?
(Mais tu n'es vraiment pas loin, une petite chose à corriger...)