Program Exercice07; Var n, somme, i : Integer; Begin { Cette boucle force la lecture d'un nombre > 1 } Repeat WriteLn('Donnez un nombre :'); ReadLn(n); Until(n > 1); somme := 0; For i := 1 to (n - 1) Do Begin If (n Mod i = 0) Then somme := somme + i; End; If (n = somme) Then WriteLn(n, ' est parfait') Else WriteLn(n, ' n''est pas parfait'); End.