首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列程序说明和C代码,回答问题1~2。 [说明] 本程序用古典的Eratosthenes的筛法求从2起到指定范围内的素数。如果要找出2至10中的素数,开始时筛中有2到10的数,然后取走筛中的最小的数2,宜布它是素数,并把该素数的倍数都取走。这样,
阅读下列程序说明和C代码,回答问题1~2。 [说明] 本程序用古典的Eratosthenes的筛法求从2起到指定范围内的素数。如果要找出2至10中的素数,开始时筛中有2到10的数,然后取走筛中的最小的数2,宜布它是素数,并把该素数的倍数都取走。这样,
admin
2009-02-15
50
问题
阅读下列程序说明和C代码,回答问题1~2。
[说明]
本程序用古典的Eratosthenes的筛法求从2起到指定范围内的素数。如果要找出2至10中的素数,开始时筛中有2到10的数,然后取走筛中的最小的数2,宜布它是素数,并把该素数的倍数都取走。这样,第一步以后,筛子中还留下奇数3、5、7、9:重复上述步骤,再取走最小数3,宣布它为素数,井取走3的倍数,于是留下5、7。反复重复上述步骤,直至筛中为空时,工作结束,求得2至 10中的全部素数。
程序中用数组sieve表示筛子,数组元素sieve
的值为1时,表示数i在筛子中,值为-1时表示数i已被取走。
[程序]
#include < stdio, h >
#define MAX 22500
main( )
{ unsigned int i , range , factor , k;
int sieve[MAX];
prinff( "please input the ’range:" );
scanf(" %d" ,&range); /* range 指出在多大的范围内寻找素数* /
for(i=2 ;i<=range; i++) (1); /*筛子初始化*/
factor = 2 ;
while (factor < = range) {
if((2)= = 1)l /*筛子中最小数是素数*/
pfinff( "% d\t" ,factor);
k = factor;
while (k < =range) { /* 取走素数的倍数*/
(3);
k=(4);
factor + +;
}
}
[问题1]将程序代码中的(1)~(4)处补充完整。
[问题2]在上述代码的执行过程中,若factor为5,从筛子中取走的头两个数是5和(5)。
选项
答案
[问题1](1)sieve[i]=1 (2)sieve[factor] (3) sieve[k]=-1 (4)k+factor [问题2](5)25
解析
初始时,2到range以内的数i都在筛子中,即sieve
=1;
(2)每用一次筛法,筛子中留存的最小数都不是前面素数的倍数,因而也是素数,我们只需用这个数来继续筛选。例如,用factor=2、3筛选以后,筛于中最小数是5,所以factor=4的情形不需考虑,只需对fsctor=5,即 sieve[factor]==1的情形继续执行筛选;
(3)若k是素数factor的倍数,则将k从筛子中移出,即设置sieve[k]=-1;
(4)由于k应该是素数factor的倍数,因此从韧值factor开始需要每次自增factor;
(5)当factor为2时,取走了2的倍数;当factor为3时,取走了3的倍数;于是当factor为5时取走的第二个数是5的倍数、但不是2或者3的倍数,这个数应该是 25。
转载请注明原文地址:https://kaotiyun.com/show/aojZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
在Excel中,若在某单元格插入公式“=$A1*A3”,则该公式中对单元格的引用属于()。
在Excel中,选中某单元格并输入123,回车后此单元格的显示内容为¥123,则可知此单元格的格式被设成了(54)。
下列关于PowerPoint 中自定义动画的说法中,(61)是正确的。
Excel2010中不存在的填充类型是()。
为向相关人员以可视化方式展示数据分析结果,首先需要明确目标受众(即需要给哪些人看),并了解他们考虑的一些问题。这些问题一般不包括(69)________________。
某单位的统计报表比较多,采用表号(报表的编号)的好处是______。
西部某省考试机构工作人员统计了去年下半年三个地区四种资格的报考人数,将统计表抄录如下(其中有一个数据抄错了): 信息处理技术员小王很快就找出了错误的数据,并进行了纠正。错误的数据是(32),该数据应纠正为(33)。33.
某大型企业下属每个事业部都自行建立了信息系统,各自存储数据,各自配备了技术人员维护系统。由于数据格式不同,难以交流,各系统难以连接,形成了一个个信息孤岛,业务难以协同。为此,公司采取了以下一些整合措施,其中(70)并不恰当。
阅读下列说明,根据网页显示的效果图,回答问题1至问题6。【说明】以下是用ASP实现的一个网络留言系统。用IE打开网页文件index.asp后的效果如图5-1所示。[index.asp文档的内容]<!--#includ
随机试题
某区政府积极适应社会治理工作新常态,运用互联网、大数据、云计算等新技术与社会治理工作深度融合,通过微信公众平台、QQ等网络移动终端及时为居民服务。这一做法()。①实现了科学民主决策②提升了社会治理水平③贯彻了为民服务理念④旨在树立政府的
有关遗传性血管性水肿正确的是
施工招标时,下列情况()属于废标。
对于大型复杂的产品,应用价值工程的重点应放在()阶段。
在会计工作交接中,接替会计人员在交接时因疏忽没有发现所接收的会计资料在真实性、完整性方面存在问题,如果事后在这一方面发现的问题,那么则应由接替会计人员承担相应的法律责任。()
办理报检人员只有取得《报检员资格证》后,才能从事出入境检验检疫报检工作。( )
下列对希腊文学的解说,不正确的一项是()。
15周岁的甲非法侵入某尖端科技研究所的计算机信息系统。18周岁的乙对此知情,仍应甲的要求为其编写侵人程序。关于本案,下列哪一选项是错误的?()
DealingwithLifeAbroadI.Cultureshockoflifeabroad1)Moreandmorepeopletendtogoabroad—Goabroadtowork,studyort
A、Becauseit’salreadyoneyearold.B、Becausehecan’ttakeittohisnewhome.C、Becausehedoesn’thavearoomtoplaceit.D
最新回复
(
0
)