在下面的程序中begin后加上p:=[2..200]的作用是什么,为什么不加时结果不同???
procedure TForm1.FormActivate(Sender: TObject);
type
 number=set of 2..200;
var
 p:number; i,j,k:byte; s:string;
begin
p:=[2..200];
s:='';
 for i:=2 to 20 do
  for j:=i+1 to 200 do
   if j mod i=0 then p:=p-[j];
 for k:=2 to 200 do
  if k in p then
   s:=s+'    '+inttostr(k);
label1.Caption:=s;
end;