算素數的程序,我怎麼看不懂

DaNiao 2004-03-11 11:29:05
這是某年有人貼在CSDN上的
據說算到10G只要幾秒
可是沒有注釋,我看不懂
誰能幫我講講?
...全文
75 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
NowCan 2004-04-05
  • 打赏
  • 举报
回复
那是概率检测法,不是可证检测。
tianxingjian1273 2004-04-04
  • 打赏
  • 举报
回复
to:xczxw(向^-^伟)
for (i=2;i<num;i++) 这里改为for (i=2;i<num\2;i++)效率会更高些
caohoujie 2004-04-04
  • 打赏
  • 举报
回复
以前我用c++写过一个计算素数的小程序,用费尔马小定理测试一个大数(最大600多位)是否是素数,稍加修改可测试更大的数,有人感兴趣的话我可以贴上来。
caohoujie 2004-04-04
  • 打赏
  • 举报
回复
以前我写过一个小程序,根据费尔马小定理测试一个几百位(大约600多位)的数字是否是素数,稍加修改就可以测试更大的数字,有人感兴趣的话我可以贴上来。
kbsoft 2004-04-04
  • 打赏
  • 举报
回复
LLNJU说的对,的确是intfree参照这篇论文来写的,不过他只用了里面的一部分公式,这篇论文的确比较深奥,读这个程序的工夫还不如看看这篇论文呢。

http://numbers.computation.free.fr/Constants/Primes/Pix/piNalgorithm.ps

给分吧:D
justensu 2004-04-03
  • 打赏
  • 举报
回复
经典!
xczxw 2004-03-20
  • 打赏
  • 举报
回复
最近我做了一个“判断一个数是不是素数”的C++程序(如果用C写代码和下面的应该差不多,因为没有设计到面向对象,稍微修改一下就可以在TC2.0上运行了),看到楼主的帖子,我把自己已经调试通过的代码稍微的改了一下,就可以搜索一个范围内的素数,相信没有多少错误,代码不长,大家应该能看的懂吧。仅供你们参考!见笑了。
  #include <iostream.h>
  int isprime(int num) //判断一个数是不是素数,m是标识
  { int i,m;
     if (num<0) m=0; //m为0表示此数是素数,1表示此数不是素数
     for (i=2;i<num;i++)
       { if (num%i==0) { m=1; break; }
        else m=0;
        }
   return m;
  }
  void main()
  { int num,i,sum; //sum是循环变量
   int isprime(int); //函数声明
   cout<<"Please input an number: "; //输入你想搜索的数的范围
cin>>num;
for (sum=1,sum<=num;sum++)
    { i=isprime(num);
  if (i==1)
cout<<" "<<sum;
    }
cout<<"\n"<<endl;
  }

33,008

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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