| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 952 人关注过本帖
标题:!焦急等待求助中:求素数的疑问(蓝色字体部分)!
只看楼主 加入收藏
cbullet
Rank: 1
等 级:新手上路
帖 子:66
专家分:0
注 册:2008-3-13
收藏
 问题点数:0 回复次数:6 
!焦急等待求助中:求素数的疑问(蓝色字体部分)!
1.请编写一个函数jsValue(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k个素数存入数组xx传回。
void jsvalue(int m,int k,int xx[])
{
int i,j,s=0;
for(i=m+1;k>0;i++)
{for(j=2;j<i;j++)
     if(i%j==0) break;  /*注:素数为只能被自己和1整除的数.如果i%j等于0,说明i不是素数,跳出本层循环*/
  if(i==j)
     {xx[s++]=i;k--;}
}
}
2.算500-800区间内素数的个数cnt,并按所求素数的值从大到
小的顺序,再计算其间隔加、减之各,即第1个素数-第2个素数+第3个素数-第4个素数+
第5个素数……的值sum。
void countValue()
{
int i,j,k=1;
for(i=800;i>=500;i--)
{for(j=2;j<i;j++)
if(i%j==0) break;
if(j>=i)
{cnt++;
sum+=k*i;
k=-1*k;
}
}
}

问题:同样求出素数,为什么前者if(i%j==0) break;if(i==j)
而后者是if(i%j==0) break;if(j>=i)

[[it] 本帖最后由 cbullet 于 2008-3-25 22:00 编辑 [/it]]
搜索更多相关主题的帖子: 素数 int 字体 疑问 蓝色 
2008-03-25 21:23
cbullet
Rank: 1
等 级:新手上路
帖 子:66
专家分:0
注 册:2008-3-13
收藏
得分:0 
等待中。。。。。。。。。。。。。。急
2008-03-25 21:51
走刀口→超
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:5018
专家分:0
注 册:2006-3-14
收藏
得分:0 
是这样的,素数的定义是除了1和自己本身以外没有别的数可以整除。

而在现实种,当内循环走到外循环的数的一半(貌似是一半)不太记得了。之后的数也肯定都不能被整除,所以也有if(i%j==0) break;if(j>=i/2)的写法。至于这个j>=i其实只能到j=i。

人在江湖【走】,怎能不挨【刀】;为了能活【口】,唯有把己【超】!come on...
2008-03-25 23:48
dhas
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2008-3-25
收藏
得分:0 
<quote>问题:同样求出素数,为什么前者if(i%j==0) break;if(i==j)
而后者是if(i%j==0) break;if(j>=i)</quote>
两者执行的效果是一样的,>=也在等于的时候执行
2008-03-26 00:03
dhas
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2008-3-25
收藏
得分:0 
问题:同样求出素数,为什么前者if(i%j==0) break;if(i==j)
而后者是if(i%j==0) break;if(j>=i)

两者执行的效果是一样的,>=也在等于的时候执行
2008-03-26 00:04
neverTheSame
Rank: 3Rank: 3
来 自:江西农业大学
等 级:新手上路
威 望:9
帖 子:1511
专家分:0
注 册:2006-11-24
收藏
得分:0 
for(j=2;j<i;j++)
     if(i%j==0) break;
要退出循环,有二种可能:一种是由break退出,这时j<i
                      另一种是不满足循环条件而退出,这时j==i
if(i==j)与if(i>=j)有同样的效果.因为循环退出后,i不可能大于j.

wap酷禾网(http://wap.),提供免费的、优质的、快捷的wap资源下载服务。
2008-03-26 03:22
cbullet
Rank: 1
等 级:新手上路
帖 子:66
专家分:0
注 册:2008-3-13
收藏
得分:0 
原来如此,太谢谢了
2008-03-26 08:20
快速回复:!焦急等待求助中:求素数的疑问(蓝色字体部分)!
数据加载中...
 
   



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

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