Bonjour, on me demande d'écrire un algorithme qui :
-demande la saisie d'un entier naturel n supérieur ou égal à 2 ;
-teste, pour i allant de 2 à E() de 1 en 1, si i divise n et renvoie true si l'entier n est premier et false sinon.
Ce que j'ai fait :
Lire n
0 prend la valeur S
2 prend la valeur D
Tant que Dpartie entière(
) et S=0
Si partie décimale()=0
Alors 1 prend la valeur S
Sinon D+1 prend la valeur D
Fin Tant que
Fin Si
Si S=0
Alors afficher "true"
Sinon afficher "false"
Fin Si
Mais par contre je n'arrive pas à coder un algorithme qui :
-demande la saisie d'un entier naturel m ;
-renvoie, pour j allant de 0 à m de 1 en 1, la réponse du test de primalité que j'ai établi de l'entier R(j).
Pourriez-vous m'aider s'il vous plaît ?
Merci d'avance.
Bonjour.
Un algorithme n'est pas lié à un langage de programmation. Il suffit qu'il soit explicite et précis.
D'autre part, dès qu'on a trouvé un diviseur, on sort de la boucle et on affiche "false"
Lire m
Pour n = 0 A m
d = 2
Tantque Décimale (n/d) > 0 et d √n
d ← d+1
FinTantque
Si Décimale (n/d) = 0 Ou n = 1 'premier cas de sortie de la boucle - 1 n'est pas premier
Alors Afficher n & "n'est pas premier"
Sinon 'on sort de la boucle sans rencontrer de diviseur et parce que d a dépassé √n
Afficher n "est premier"
FinSi
Suivant n
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :