首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列算法说明和代码,将应填入(n)处的语句写在对应栏内。 【说明】 本程序用古典Eratosthenes;筛选法求从2起到指定范围内的素数。如果要找出2~10中的素数,开始时筛中有2~10的数,然后取走筛中最小的数2,宣布它是素数,并把
阅读下列算法说明和代码,将应填入(n)处的语句写在对应栏内。 【说明】 本程序用古典Eratosthenes;筛选法求从2起到指定范围内的素数。如果要找出2~10中的素数,开始时筛中有2~10的数,然后取走筛中最小的数2,宣布它是素数,并把
admin
2010-01-15
80
问题
阅读下列算法说明和代码,将应填入(n)处的语句写在对应栏内。
【说明】
本程序用古典Eratosthenes;筛选法求从2起到指定范围内的素数。如果要找出2~10中的素数,开始时筛中有2~10的数,然后取走筛中最小的数2,宣布它是素数,并把该素数的倍数都取走。这样,第一步以后,筛子中还留下奇数3、5、7、9;重复上述步骤,再取走最小数3,宣布它为素数,并取走3的倍数,于是留下5、7。反复重复上述步骤,直到筛中为空时,工作结束,求得2~10中的全部素数。
【代码】
# include <stdio.h>
# define MAX 22500
/*程序中用数组sieve表示筛子,数组元素sieve
的值为1时,表示数i在筛子中,值为-1时表示数i已被取走*/
main()
{ unsigned int i, range, factor, k;
int sieve[MAX];
printf("please input the range:");
scanf("%d", &range);/* range 指出在多大的范围内寻找素数*/
for(i=2; i<=range; i++)
(1);
factor=2;
while (factor<=range)
{ if((2)) /* 筛中最小数是素数 */
{ printf("%d\t", factor);
k=factor;
while (k<=range) /*移走素数的倍数 */
{ (3);
k=(4);
}
}
(5);
}
}
选项
答案
(1)sieve[i]=i (2)sieve[factor]>0 (3)sieve[k]=-1 (4)k+factor (5)factor++
解析
本题考查在C语言中实现素数的选取。
题目要求从指定范围内的数中选取其中的素数,并给出了相关的选取方法。在做题前我们首先需要清楚什么是素数,素数又叫质数,是指除1和自身之外,没有其他约数的正整数。—下面我们来分析程序。
第(1)空在第一层循环体下面,题目要求用数组sieve表示筛子,但在程序中并没有给数组输入值,此空应该是在循环下往数组中存放数值,其存放的位置与数值的大小对应,因此,此空答案为sieve
=i。
第(2)空是条件判断语句的条件,从注释中我们可以知道,这个条件判断语句的作用是筛中最小数是素数,是素数的话一定在数组中,元素的值就应该大于0。那么条件应该是判断数组中当前位置的值是否大于0,如果是,则执行判断语句下的语句,即筛选出这个数且这个数是素数。结合题目给出的条件,知道此空答案为sieve[factor]>0。
第(3)空是移走素数的倍数这个循环下面的语句,此循环的作用就是移走当前最小素数的倍数,题目要求在移走了数值以后,数组中相应的值为-1,那么此空的作用应该是将数组中该移走数的相应值变为-1,因此,此空答案为sieve[k]=-1。
第(4)空是紧接着上面一空来的,变量k中存放的是数组当前的下标,而变量factor中存放的是当前最小的素数。此空所在循环体的作用是移走当前最小素数的倍数,求倍数时,只要在该数的基础上加上该数,那就是两倍,再加一个就是三倍,由此直到最大范围。因此,此空答案应该是k+factor。
第(5)空是while(factor<=range)循环下的最后一条语句,我们从程序中可以看出,factor中存放的是当前的最小素数,同时也是此素数在数组中的下标位置。题目告诉我们在处理完当前素数后,应该去取下一个素数,下标位置往后移动。因此,此空答案为factor++。
转载请注明原文地址:https://kaotiyun.com/show/tBjZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
在Excel2010的A1单元格中输入函数“=ABS(ROUND(-1.478,2))”,按回车键后,A1单元格中的值为________________。
信息系统运行过程中的数据备份工作不包括________________。
在Word2007文档中查找所有的“广西”“广东”,可在查找内容中输入______,再陆续检查处理。
WindowsXP中,被删除的文件默认存放在()中,需要时还可以进行恢复。
某金融企业正在开发移动终端非现场办公业务,为控制数据安全风险,采取的数据安全措施中并不包括______。
某个字段的数据是原始数据计算的结果,该字段的宽度和小数位数对数据的精度有影响。一般来说,小数位数的确定需要考虑______。
回收的问卷调查表中,很多表都有一些没有填写的项。处理缺失值的办法有多种,需要根据实际情况选择使用。对于一般性的缺值项,最常用的有效方法是(66)。
在Word2007中要建立一个表格,方法是()。
在Excel中,为标识一个由单元格B3、B4、C3、C4、D4、D5、D6、D7组成的区域,下列选项中,正确的是______。
随机试题
哺乳期妇女用药注意的是
甲因办厂无资金向乙借款10万元,借期两年,并且由丙担保在甲不还钱时代甲向乙还款。两年后,甲因经营不善无力偿还借款,乙向甲和丙索款未果,向法院提起诉讼。本案中关于甲、丙诉讼地位的判断哪些是正确的?
信托业务是指信托投资公司以资金融通为目的,以受托人身份承诺信托和处理信托事务的经营行为。()
甲公司生产A产品,生产过程分为两个步骤,分别在两个车间进行。一车间为二车间提供半成品。二车间将半成品加工成产成品。每件产成品消耗一件半成品。甲公司用平行结转分步法结转产品成本,月末对在产品和产成品进行盘点,用约当产量法在产成品和在产品之间分配成本。原材料在
根据行为主义的观点,学习的实质是()。
2004年我国东部农村约有绝对贫困人口()万人。根据图表,以下不正确的一项是()
《柳叶刀》是世界上最悠久及最受重视的同行评审性质的医学期刊,它属于()。
1895年,康有为率同梁启超等数干名举人联名上书光绪皇帝,反对清政府签订丧权辱国的《马关条约》。“公车上书”被认为是维新派登上历史舞台的标志。这一运动是
用于查看报表的页面数据输出形态是指()。
赤壁(Chibi)是中国著名的古战场,位于今天的湖北省境内。赤壁之战发生在三国时期(theThreeKing-domsPeriod)。刘备和孙权联合起来,巧用火攻,战胜了强大的曹操军队。因此,赤壁之战成了著名的以弱胜强的战例,许多军事文献都有提及。此
最新回复
(
0
)