搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 求素数的问题
标题:
求素数的问题
只看楼主
jtsqrj
等 级:
新手上路
帖 子:15
专家分:0
注 册:2016-10-13
结帖率:
25%
楼主
已结贴
√
问题点数:5 回复次数:5
求素数的问题
琢磨了半天也不能理解。。。
求素数的一部分代码:
for(m=2;m<=100;m++){
n=sqrt(m);
for(i=2;i<=n;i++)
if(m%i==0)
break;
if(i>n) #为什么这里i>n就说明了m是素数,上一个for循环不是要求i<=n吗?
printf("%6d",m);
2016-11-16 18:29
炎天
来 自:桃花岛
等 级:
贵宾
威 望:
29
帖 子:1218
专家分:4986
注 册:2016-9-15
第
2
楼
得分:2
i<=n后面还有i++
早知做人那么辛苦! 当初不应该下凡
2016-11-16 18:34
jtsqrj
等 级:
新手上路
帖 子:15
专家分:0
注 册:2016-10-13
第
3
楼
得分:0
回复 2楼 炎天
for里面不是有i<=n吗,如果i=7,n就是根号7,那么i=2的时候还可以i++吗?
2016-11-16 18:39
炎天
来 自:桃花岛
等 级:
贵宾
威 望:
29
帖 子:1218
专家分:4986
注 册:2016-9-15
第
4
楼
得分:0
可以的,(i=2)<=(n=2) 满足判断条件
for(i=2;i<=n;i++) 不考虑for下面的语句,循环最后i=n+1;
回到你的代码,如果break执行到了i就达不到n+1了
[此贴子已经被作者于2016-11-16 18:59编辑过]
早知做人那么辛苦! 当初不应该下凡
2016-11-16 18:52
哈斯佛道
等 级:
论坛游民
帖 子:23
专家分:81
注 册:2016-8-15
第
5
楼
得分:2
看最后一次循坏
2016-11-16 19:09
qq152110
等 级:
新手上路
帖 子:2
专家分:2
注 册:2016-11-19
第
6
楼
得分:2
#include<stdio.h>
int main()
{
int i,k;
for(i=2;i<=100;i++)
{
for(k=2;k<i;k++)
{
if(i%k==0)
{
break;
}
else if(k=i-1)
{
printf(" %d",i);
}
}
}
2016-11-19 13:33
6
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-471208-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 2.072406 second(s), 10 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved