Bonjour,

SVP.. quelqu'un peut-il m'aider...
Pas de fautes... mais à l'exécution... il se plante et n'affiche pas le nombre 8128 malgré qu'il soit parfait (seulement 6 -28 - 496)....
Si je change Longint à Word ca marche...
Mais ne je vois pas pourquoi il n'accepte pas le 99999 !!!!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Program parfait ;
uses wincrt ;
var
s ,k,i : longint ;
begin
 
  for k:=1 to 99999 do
  begin
   s:=0;
   for i := 1 to k div 2 do
     if k mod i=0 then
     s:= s+i;
 
   if k=s then
     write (k,'    ');
  end;
end.