{计算并输出300至500以内所有素数(即质数)中最大的前10个数之和sum
与300至500以内所有素数的个数count,
并将结果输出到文件mydata.dat中.}procedure TForm1.Button1Click(Sender: TObject);
var
  i,j,k,count,sum:integer;
begin
  count := 0;
  sum := 0;
  for i := 300 to 500 do
  begin
    k := 0;
    for j := 2 to i - 1 do
    begin
      if i Div j * j = i then
      begin
        Inc(K);
        Break;
      end;
    end;
    if k = 0 then
    begin
      Inc(count);
      if count <= 10 then
      sum := sum + i;
    end;
  end;
  ShowMessage('素数个数:count='+inttostr(count)+#13#10+#13#10+'前10个素数之和:sum='+ IntToStr(sum));
end;我的程序写的对吗?我觉得这样效率不高,谁有更好的方法,希望能一起探讨。
还有怎样写入.dat文件啊?我不会