| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 6178 人关注过本帖
标题:请教如何判断一个数为素数
只看楼主 加入收藏
伪君子
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2008-3-28
收藏
 问题点数:0 回复次数:6 
请教如何判断一个数为素数
我才接触C,弱弱的问一句如何判断一个数为素数,希望路过的各位大哥能告诉我,多谢!
搜索更多相关主题的帖子: 素数 判断 
2008-03-28 15:55
新手上路了
Rank: 1
等 级:新手上路
威 望:2
帖 子:107
专家分:0
注 册:2008-3-27
收藏
得分:0 
首先你要明白什么是素数啊
如果M能被2…sqrtM之中任何一个整数整除 那么这个数就不是素数
for(int i=2;i<sqrt(m);i++) //m为被判断的数
    if(m/i)
        printf("不是");
    else
        printf("是");
2008-03-28 16:16
無邪的睡脸
Rank: 2
等 级:等待验证会员
威 望:1
帖 子:344
专家分:13
注 册:2007-9-11
收藏
得分:0 
回复 2# 的帖子
呵呵...
2008-03-28 16:31
Kid_X
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:216
专家分:515
注 册:2007-10-8
收藏
得分:0 
2楼的,我提个建议,
把for(int i=2;i<sqrt(m);i++)中的sqrt(m)的值另用一变量。
可采用:
int a = sqrt(m) + 1;
for ( int i=2; i<a ; i++ )
这样可加快速度,免得每次for循环都要计算一遍sqrt(m),当然,现在你可能感觉不到它的运行速度。

此外,关于求素数,我建议参考《c语言的科学与艺术》一书,当中有一章节作了详细的讲解。我看了之后觉得很有收获。电子版我没有,你可以网上搜一下。
2008-03-28 20:25
love329125
Rank: 1
来 自:湖北
等 级:新手上路
帖 子:67
专家分:0
注 册:2008-1-5
收藏
得分:0 
支持2#
2#说的对

开心!!
2008-03-28 22:18
xfcyjhb
Rank: 1
来 自:重庆
等 级:新手上路
帖 子:116
专家分:0
注 册:2008-2-26
收藏
得分:0 
回复 4# 的帖子
顶,我也看过,同意

多C多智慧,将C进行到底.........
2008-03-30 12:06
hoodlum1980
Rank: 2
来 自:浙江大学
等 级:论坛游民
威 望:2
帖 子:289
专家分:23
注 册:2008-2-24
收藏
得分:0 
2#里应该是if(x%i==0)
4#,我感觉之中,编译器通常会对for的那个中间的那个判断条件做优化。
2008-03-30 12:57
快速回复:请教如何判断一个数为素数
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017330 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved