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 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 586
 
bonjour,
je suggère que tu affiches la valeur de i à chaque tour de boucle.
0
NHenry Messages postés 15489 Date d'inscription   Statut Modérateur Dernière intervention   367
 
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