| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 845 人关注过本帖
标题:判断一个数是否为素数,该怎么理解。
只看楼主 加入收藏
序曲萧邦
Rank: 2
等 级:论坛游民
帖 子:45
专家分:41
注 册:2012-11-17
结帖率:81.82%
收藏
已结贴  问题点数:20 回复次数:11 
判断一个数是否为素数,该怎么理解。
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
int main()
{
  int i,m,n;
  scanf(“%d”,&n);
  if(n<0)
  {
   printf("输出数据错误\n");
   exit(0);
   }
   m=sqrt(n);
   for(i=2,i<=m,i++)
       if(n%1==0)break;

   if(i>M)
       printf("%d是素数\n",n);
   else
       printf(“%d不是素数\n",n);
   return 0
}



这个编程。为什么要弄这一步。 m=sqrt(n);,还有下面那一部分不懂。
搜索更多相关主题的帖子: include 
2013-03-17 10:48
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:4 
if(n%1==0)break;??n%i 吧

只是判断它能否被整除

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2013-03-17 11:06
qunxingw
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:24
帖 子:1676
专家分:7295
注 册:2011-6-30
收藏
得分:4 
如果一个数不是素数,则一定有个小于此数平方根的因子,i至此都没有跳出循环,说明是一个素数。另 n%i ,注意变量一致性

www.qunxingw.wang
2013-03-17 11:09
zhou31146001
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:303
专家分:131
注 册:2012-11-28
收藏
得分:6 
for(i=2,i<n,i++)

{
if(n%i==0)
printf("%d不是素数\n",n);
else
printf(“%d是素数\n",n);
}
也可这样

2013-03-17 11:14
光荣吉祥
Rank: 2
等 级:论坛游民
帖 子:4
专家分:26
注 册:2012-10-11
收藏
得分:6 
m=sqrt(n);
这一步是为了减少循环次数
 for(i=2,i<=m,i++)
        if(n%1==0)break;
这个循环体是为了判断一个数是不是能被除了1与本身之外的数整除,如果能,那么变量i<=m;如果不能,那么变量i=m+1 if(i>M)
        printf("%d是素数\n",n);
    else
        printf(“%d不是素数\n",n);
判断出结果,给出结论
2013-03-17 11:25
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
收藏
得分:0 
%1???这么奇葩?

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2013-03-17 11:45
序曲萧邦
Rank: 2
等 级:论坛游民
帖 子:45
专家分:41
注 册:2012-11-17
收藏
得分:0 
回复 楼主 序曲萧邦
恩恩。我打错了。谢谢提醒

新手学c中。还望多多指教
2013-03-17 11:46
序曲萧邦
Rank: 2
等 级:论坛游民
帖 子:45
专家分:41
注 册:2012-11-17
收藏
得分:0 
回复 4楼 zhou31146001
哦,我就是想这样。不过不知道可不可以。思路和我想的一样,板上的是书里的

新手学c中。还望多多指教
2013-03-17 11:53
序曲萧邦
Rank: 2
等 级:论坛游民
帖 子:45
专家分:41
注 册:2012-11-17
收藏
得分:0 
回复 3楼 qunxingw
哦。<=这个数开发的因子吗?

新手学c中。还望多多指教
2013-03-17 11:55
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
for(i=2,i<=m,i++)
for语包都是逗号!!!应该是分号!

总有那身价贱的人给作业贴回复完整的代码
2013-03-17 12:44
快速回复:判断一个数是否为素数,该怎么理解。
数据加载中...
 
   



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

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