首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列程序说明和C代码,回答问题1~2。 [说明] 本程序用古典的Eratosthenes的筛法求从2起到指定范围内的素数。如果要找出2至10中的素数,开始时筛中有2到10的数,然后取走筛中的最小的数2,宜布它是素数,并把该素数的倍数都取走。这样,
阅读下列程序说明和C代码,回答问题1~2。 [说明] 本程序用古典的Eratosthenes的筛法求从2起到指定范围内的素数。如果要找出2至10中的素数,开始时筛中有2到10的数,然后取走筛中的最小的数2,宜布它是素数,并把该素数的倍数都取走。这样,
admin
2009-02-15
61
问题
阅读下列程序说明和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
程序员下午应用技术考试
软考初级
相关试题推荐
软件著作权受法律保护的期限是(13)。一旦保护期限届满,权利将自行终止,成为社会公众可以自由使用的知识。
可以将数据划分成有序数据和无序数据两类。以下几种数据中属于无序数据的是______。
在Word2007默认状态下,调整表格中的宽度可以利用(40)________________进行调整。
(31)________________接受每个用户的命令,采用时间片轮转方式处理服务请求,并通过交互方式在终端上向用户显示结果。
某工厂共40人参加技能考核,平均成绩80分,其中男工平均成绩83分,女工平均成绩78分。该工厂参加技能考核的女工有(5)________________人。
某企业要求将各销售部门上月的销售额制作成图表。________________能直观形象地体现各销售部门的业绩以及在企业总销售额中的比例。
企业数字化转型是指企业在数字经济环境下,利用数字化技术和能力实现业务的转型、创新和增长。企业数字化转型的措施不包括()。
双击某个非可执行程序的文件名将(24)。
在Access中,查询“学生”数据表的所有记录及字段的SQL语句是______。
编译程序的作用是将高级程序语言源程序翻译为(4)。
随机试题
A、Exerciselessfrequently.B、Takelessmedicineeachday.C、Visithimassoonaspossible.D、Takeanewkindofheadachemedici
患者,男,69岁。因菌血症住院就诊,微生物学检查为金黄色葡萄球菌感染,体外药敏结果为:苯唑西林耐药、环丙沙星敏感、复方新诺明敏感、亚胺培南敏感、克林霉素敏感、万古霉素敏感、头孢唑啉耐药、四环素耐药、氯霉素耐药、利福平耐药。对该患者进行抗感染治疗时,不应考虑
A.齐多夫定B.茚地那韦C.奥司他韦D.氟康唑E.阿昔洛韦属于蛋白酶抑制剂
某股份有限公司于2011年7月1日以50万元的价格转让一项无形资产所有权,同时发生相关税费3万元。该无形资产系2008年7月1日购入并投入使用,其入账价值为300万元,预计使用年限为5年,法律规定的有效年限为10年,该无形资产按照直线法摊销。转让该无形资产
企业信用政策的内容不包括()。
培训目标常用可验证性动词。()
明代戏剧的剧种主要有_______几种形式。
Lawyersarelessthan1%ofAmericanadults,【C1】______theyarewell-representedingovernment.Boththepresidentandthevice-
主要用于描述对象在空间中如何交互,即除了动态交互,也直接描述了对象是如何链接在一起的UML图是()。
can/couldhardlykeephisbodyandsoultogether
最新回复
(
0
)