Nombre premier en pascal
Résolu/Fermé
Bonjour,
comment Vérifier si un nombre entier est un nombre premier, en pascal.
un programme s.v.p.
merci bcp d'avance.
comment Vérifier si un nombre entier est un nombre premier, en pascal.
un programme s.v.p.
merci bcp d'avance.
Configuration: Windows XP Internet Explorer 6.0
10 réponses
-
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-
-
-
ModérateurLes deux boucles suivantes sont équivalentes en Pascal :
for i:=a to b do begin // instructions end;i:=a; while i<=b do begin // instructions i:=i+1; end;
Or une structure répetitive "répéter jusqu'à" correspond à une boucle while (traduire "tant que")
Remarque : l'algorithme de fahim0788 fonctionne, mais il peut être amélioré. -
-
-