主题:求delphi中求500以内的素数算法
zmuliang
[专家分:20] 发布于 2007-04-21 00:43:00
请问以下代码有什么不对:
procedure Tlaji.countClick(Sender: TObject);
var
i,j,k:integer;
st:string;
flag:boolean;
begin
for i:=2 to 500 do
flag:=true;
k:=trunc(sqrt(i));
for j:=2 to k do
begin
if(i mod j =0)then
begin
flag:=false;
break;
end ;
if i mod j<>0 then
begin
st:=st+''+inttostr(i);
memo1.Lines.Add(st);
end
end
end;
回复列表 (共10个回复)
沙发
Arbiterli [专家分:0] 发布于 2007-04-21 19:24:00
具体没看
至少你第一个循环少了begin 和 end
板凳
rexxu [专家分:0] 发布于 2007-04-22 17:20:00
这个问题我也在研究,但也没结果
希望快点可以有答案
3 楼
aizaixiiii [专家分:2130] 发布于 2007-04-26 15:49:00
var
i,j,k:integer;
st:string;
flag:boolean;
begin
for i:=2 to 500 do
begin
flag:=true;
k:=trunc(sqrt(i));
for j:=2 to k do
begin
if (i mod j) =0then
begin
flag:=false;
break;
end;
if (i mod j)<>0 then
begin
continue;
end;
end;
if flag then
begin
memo1.Lines.Add(inttostr(i));
end;
end;
end;
4 楼
Gowithwind [专家分:20] 发布于 2007-05-11 21:01:00
楼上的高手说的相当的有道理,顶!
5 楼
ysqlc [专家分:40] 发布于 2007-05-11 23:46:00
你楼上的再加一句就完美了:
在begin循环前加句
memo1.clear;
6 楼
Mukametkhan [专家分:0] 发布于 2010-02-24 20:25:00
谁知道 2^63 素数的算法
8 楼
Mukametkhan [专家分:0] 发布于 2010-02-24 20:34:00
谁知道算 2^36 素数的算法
9 楼
sei兔 [专家分:190] 发布于 2010-03-14 00:20:00
if i mod j<>0 then
begin
st:=st+''+inttostr(i);
memo1.Lines.Add(st);
end
end
end;
就拿最后这个 if then 来说,这里都不要 ";"了吗? end end 两个后面都没有 ';' 哇,好样的
10 楼
moke9 [专家分:30] 发布于 2010-09-02 08:44:00
你好.我是全职网赚工作者.
如果你有时间有电脑.
想在网络上创业.请联系我..
项目绝对真实.详情QQ空间资料
加盟请联系 QQ908889846
我来回复