Correction Sujet 1
program bac25mai2010__8h30;
uses wincrt;
var
i:longint;
function kaprekar(k:longint):boolean;
var
ch,ch2,chd,chg:string;
d,n,l,g:longint;
e:integer;
begin str(k,ch);
n:=length(ch);
str(sqr(k),ch2);
l:=length(ch2);
chg:=copy(ch2,1,l-n);
delete(ch2,1,l-n);
chd:=ch2;
val(chd,d,e);
val(chg,g,e);
kaprekar:=d+g =k;
end;
{---}
begin
for i:=1 to 1000 do begin
if kaprekar(i) then write(i,' ');
end;
end.