Programme pascal pour nombre premier ou pas

datasciencestudent -  
ljm972 Messages postés 255 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, voici un programme pascal ou je dois vérifier si un nombre est oremier ou pas mais je comprends pas où est mon erreur?
svp aidez moi.

Program nbr_premier;
uses WinCrt;
Var N,i,r: Integer;
Begin
WriteLn ('Entrez un nolbre ');
Readln(N);
r:=0;
for i:=2 to N do;
Begin
 r:= N Mod i;
 If r=0 Then
  Begin
 writeln (N, ' N:Est pas un nombre parfait');
 else WriteLn (N, ' Est un nombre parfait');
 End
End
End.



Configuration: Windows / Chrome 96.0.4664.45



EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.
A voir également:

3 réponses

yg_be Messages postés 24281 Statut Contributeur Ambassadeur 1 584
 
bonjour,
je suggère que tu affiches la valeur de i à chaque tour de boucle.
0
NHenry Messages postés 15479 Statut Modérateur 366
 
Quand tu pose une question avec un exemple de code essayes toujours de préciser le problème clairement.
Dans ton cas :
- Si je rentre XXX
- Je voudrais obtenir YYYYY
- Mais j’obtiens ZZZZZ à la place
0
ljm972 Messages postés 255 Date d'inscription   Statut Membre Dernière intervention   29
 
Program nbr_premier;
uses WinCrt;
Var N,i,r: Integer;
Begin
   WriteLn ('Entrez un nombre ');
   Readln(N);
   r:=0;
   for i:=2 to N do
   Begin
      r:= N Mod i;
      If r=0 Then
          writeln (N, ' Est pas un nombre parfait')
      else 
          WriteLn (N, ' Est un nombre parfait');
   End;
End.

0