Nombre premier en pascal

Résolu/Fermé
max123456 Messages postés 10 Date d'inscription samedi 8 mars 2008 Statut Membre Dernière intervention 21 juillet 2010 - 20 juin 2008 à 00:38
 Raja - 5 mai 2018 à 16:22
Bonjour,

comment Vérifier si un nombre entier est un nombre premier, en pascal.

un programme s.v.p.

merci bcp d'avance.

10 réponses

fahim0788 Messages postés 111 Date d'inscription vendredi 23 mai 2008 Statut Membre Dernière intervention 19 décembre 2011 10
20 juin 2008 à 01:08
salut, pour verifier si le nombre n est premier ou pas le principe est de tester tous les nombres inferieur à n qu'on, si le reste de la division de n/i est 0 donc i est un diviseur on compte les diviseurs avec la variable r,a la fin si le programme trouve plus de 2 diviseurs cela veut dire que n admet un diviseur a part 0 et lui même =>n n'est pas premier si non le nombre est premier.

program premier;
uses wincrt;
var n,r,i:integer;
begin
write('Donnez un entier naturel : ');
read(n);
r:=0;
for i:=1 to n do
if n mod i = 0 then r:=r+1;

if r=2 then write('le nombre est premier') else
write('le nombre n'est pas premier');
end.

Rq: cette algorithme peut s'améliorer pour gagner du temps
27
max123456 Messages postés 10 Date d'inscription samedi 8 mars 2008 Statut Membre Dernière intervention 21 juillet 2010
20 juin 2008 à 18:18
merci fahim, ton programme court et util.
0
j'ai pas compris tu peux me traduire ce algorithme en francais et avec la structure répétitive repeter jusqu'a
merci d'avance
0