| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付赛孚耐:软件保护加密专家
身份认证令牌USB KEY   
共有 515 人关注过本帖
标题:关于素数的算法!
收藏  订阅  推荐  打印 
ml342418175
Rank: 2
等级:注册会员
威望:1
帖子:177
积分:1878
注册:2007-4-13
关于素数的算法!

我总结了一下素数的三种算法,不知道对不,请大家指教,如果有好的算法话,大家分享。
素数是只能被1和它本身整除的数,假设一个数为n.下面是判断的方法。
一:for(i=2;i<=(n-1);i++)
if(n%i==0)/*i在2到n-1之间任取一个数,如果n能被整除则不是素数,否则就是素数*/
二:for(i=2;i<n/2;i++)
if(n%i==0) /*i在2到n/2之间任取一个数,如果n能被整除则不是素数,否则就是素数*/

三:for(i=2;i<(n=sqrt(n));i++)
if(n%i==0) /*i在2到sqrt(n)之间任取一个数,如果n能被整除则不是素数,否则就是素数,在下省了下面的输出步骤*/

[此贴子已经被作者于2007-4-27 23:16:53编辑过]

搜索更多相关主题的帖子: 素数  算法  整除  sqrt  指教  
2007-4-27 23:16
海蓝啸
Rank: 12Rank: 12Rank: 12
来自:安徽
等级:贵宾
威望:17
帖子:1607
积分:16753
注册:2006-4-3

没有错
一般用最后一个。。。。原理很简单

这个社会太复杂。。。
2007-4-27 23:23
天使猪头
Rank: 1
等级:新手上路
帖子:22
积分:320
注册:2007-4-11


努力没有错?
2007-4-29 20:22
Tchong
Rank: 2
等级:注册会员
帖子:108
积分:1082
注册:2008-10-17

三:for(i=2;i<(n=sqrt(n));i++)
if(n%i==0) /*i在2到sqrt(n)之间任取一个数,如果n能被整除则不是素数,否则就是素数,在下省了下面的输出步骤*/

上面的i<(n=sqrt(n));有错误,应该是i<=(n=sqrt(n));这样才对啊
2009-1-3 18:53
风中野菱
Rank: 2
来自:水星
等级:注册会员
威望:1
帖子:76
积分:971
注册:2008-12-29
回复 第4楼 Tchong 的帖子

尽量不要把 库函数 放在循环里面

数据加载中……    请稍等
         
2009-1-4 09:08
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.072462 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved