Programme pascal pour nombre premier ou pas

datasciencestudent -  
ljm972 Messages postés 255 Date d'inscription   Statut Membre Dernière intervention   - 6 déc. 2021 à 00:56
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 23538 Date d'inscription   Statut Contributeur Dernière intervention    
bonjour,
je suggère que tu affiches la valeur de i à chaque tour de boucle.
0
NHenry Messages postés 15215 Date d'inscription   Statut Modérateur Dernière intervention   363
 
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