procedure TForm1.Button1Click(Sender: TObject);
var
i,j,xiaxian,shangxian,count:integer;
begin
count:=0;
xiaxian:=strtoint(edit1.Text);
shangxian:=strtoint(edit2.text);
for i:=xiaxian to shangxian do
begin
for j:=2 to trunc(sqrt(i)) do
if (i mod j =0) then break
end;
memo1.Lines.Add(inttostr(i));
count:=count+1;
end;
memo1.LineS.add(inttostr(count));
end;
end.
计算出来的结果是错误的,请问高手该怎么改

解决方案 »

  1.   

    【code=Delphi(Pascal)]
    procedure TForm3.Button1Click(Sender: TObject);
    var
      i, j, xiaxian, shangxian, count: integer;
    begin
      count := 0;
      xiaxian := strtoint(Edit1.Text);
      shangxian := strtoint(Edit2.Text);
      for i := xiaxian to shangxian do
      begin
        for j := 2 to trunc(sqrt(i)) do
          if (i mod j = 0) then
            break;
      if j>trunc(sqrt(i)) then
       begin
        memo1.Lines.Add(inttostr(i));
        count := count + 1;
       end;
    end;
    Memo1.Lines.Add('');
    Memo1.Lines.Add(inttostr(count));
    end;[/code]
      

  2.   


    procedure TForm3.Button1Click(Sender: TObject);
    var
      i, j, xiaxian, shangxian, count: integer;
    begin
      count := 0;
      xiaxian := strtoint(Edit1.Text);
      shangxian := strtoint(Edit2.Text);
      for i := xiaxian to shangxian do
      begin
      for j := 2 to trunc(sqrt(i)) do
      if (i mod j = 0) then
      break;
      if j>trunc(sqrt(i)) then
      begin
      memo1.Lines.Add(inttostr(i));
      count := count + 1;
      end;
    end;
    Memo1.Lines.Add('');
    Memo1.Lines.Add(inttostr(count));
    end;