delphi 有关求素数的问题想探讨下

虎滴小猪猪 2008-11-21 02:38:18
{计算并输出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文件啊?我不会
...全文
356 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章

16,746

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧