求100以内的质数的函数,,,,为什么是错的?

cowbo2 2006-10-13 10:12:55
求100以内的质数的函数,,,,为什么是错的?

procedure TForm2.Button1Click(Sender: TObject);
var
I,J:Integer;
begin
for I :=1 to 100 do
begin
for J := 2 to Sqr(I) do
begin
if (I div J=0) and (I<=J) then
Memo1.Lines.Add(IntToStr(I));
end;
end;
end;
...全文
266 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
do2008 2006-10-14
  • 打赏
  • 举报
回复
顶 agui(阿贵: 高级图形用户界面) ~~~~
cowbo2 2006-10-13
  • 打赏
  • 举报
回复
经过改正,终于搞定了...谢各位...

现公布答案....

function TForm2.ZZZ(x,y:Integer):Integer ;
var
I,J:Integer;
flag:BOOL;
begin
IF (X=0) or (X=1) or (X<0) then X:=2; //检查纠正
for I :=x to y do
begin
flag:=true;
for J := 2 to trunc(Sqrt(I)) do
begin
if (I mod J)=0 then
begin
flag:= False;
Next;
end;
end;
if flag then
memo1.Lines.Add(IntToStr(I));
end;
end;

调用
ZZZ(0,10000000);
do2008 2006-10-13
  • 打赏
  • 举报
回复
而且,你的算法也不对
do2008 2006-10-13
  • 打赏
  • 举报
回复
质数是只能被1和自己整除没有余数的数 例7和11

>>if (I div J=0) and (I<=J) then

不应该用DIV,用mod
cowbo2 2006-10-13
  • 打赏
  • 举报
回复

还有一个问题,就是请问一下,质数有什么实际用处?
mdejtod 2006-10-13
  • 打赏
  • 举报
回复
这个好麻烦,改天我回去了给你一个我写的看看怎么样~~~~
光明山人 2006-10-13
  • 打赏
  • 举报
回复
我正想着呢,怎是sqr(平方)而不是sqrt(平方根)?问题既然解决了就不多看了。

至于质数的作用,数学家做研究时并没想到怎么实用,他们只管去探索。不过现在质数的一个最显著的作用就在加密上。现在的加密技术依赖于非常大的质数,因为算法是公开的。(所以某些人对科学家做一些没有实用的研究的质疑实在是眼光短浅,我们必须支持“不实用”的科学研究)。

--
http://www.agui.googlepages.com
mailto: agui.cn(a)gmail.com

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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