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