Program Parfait;
Var nb, d, som, a, b : integer;
Begin
Repeat
Writeln('donner a et b');
Readln(a,b);
Until (1<a) and (a<b);
For nb:=a To b Do
Begin
som:=0;
For d:=1 To (nb div 2) Do
If (nb mod d = 0) Then som:=som+d;
If nb=som Then Writeln (nb, ' est parfait');
End;
End.
UHJvZ3JhbSBQYXJmYWl0OwpWYXIgbmIsIGQsIHNvbSwgYSwgYiA6IGludGVnZXI7CkJlZ2luClJlcGVhdApXcml0ZWxuKCdkb25uZXIgYSBldCBiJyk7ClJlYWRsbihhLGIpOwpVbnRpbCAoMTxhKSBhbmQgKGE8Yik7CkZvciBuYjo9YSBUbyBiIERvCkJlZ2luCnNvbTo9MDsKRm9yIGQ6PTEgVG8gKG5iIGRpdiAyKSBEbwpJZiAobmIgbW9kIGQgPSAwKSBUaGVuIHNvbTo9c29tK2Q7CklmIG5iPXNvbSBUaGVuIFdyaXRlbG4gKG5iLCAnIGVzdCBwYXJmYWl0Jyk7CkVuZDsKRW5kLg==