首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列程序说明和C代码,回答问题1~2。 [说明] 本程序用古典的Eratosthenes的筛法求从2起到指定范围内的素数。如果要找出2至10中的素数,开始时筛中有2到10的数,然后取走筛中的最小的数2,宜布它是素数,并把该素数的倍数都取走。这样,
阅读下列程序说明和C代码,回答问题1~2。 [说明] 本程序用古典的Eratosthenes的筛法求从2起到指定范围内的素数。如果要找出2至10中的素数,开始时筛中有2到10的数,然后取走筛中的最小的数2,宜布它是素数,并把该素数的倍数都取走。这样,
admin
2009-02-15
71
问题
阅读下列程序说明和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
程序员下午应用技术考试
软考初级
相关试题推荐
在Access中,表和数据库的关系是(67)。
新建一个Word文档,编辑结束后,执行“文件”菜单中的“保存”命令,则______。
Windows7系统运行时,用户用鼠标右击某个对象经常会弹出________________。
Word2010中的格式刷可用于复制段落的格式,若要将选中的当前段落格式重复应用多次,应()。
企业数字化转型是指企业在数字经济环境下,利用数字化技术和能力实现业务的转型、创新和增长。企业数字化转型的措施不包括()。
上级要求信息处理技术员做a、b、c、d、e五件工作。先做什么,后做什么,如何安排呢?根据工作性质以及紧急程度,他列出了如下几条规则:a应在b前 c应在a前 d应在a前 a应在e前d应在b前 b应在e前 c应在d前 c应在
Windows系统的控制面板不包括__________功能。
为在Exce1的A1单元格中生成一个60到100之间的随机数,则应在A1单元格中输入______
数据录入工作有两个指标:录入速度和错误率。一般而言,数据录入员在录入大批数据时,录入速度会(65),错误率会(66)。66
(1)是固化在主板ROM内的程序,为计算机提供最底层、最直接的硬件访问和控制。
随机试题
种族的a.r_____
A.细胞色素a3B.细胞色素b560C.细胞色素p450D.细胞色素c1在线粒体中电子传递给氧的是
感染的含义是
刘先生,30岁。因鼻部疖挤压后出现寒战、高热、头痛,眼部周围组织红肿、疼痛,应考虑并发
单位工程竣工结算是指施工单位在完成单位工程任务后,按照合同规定,在原施工图预算的基础上根据实际发生编制调整预算,向建设单位办理最后的工程价款结算。下列有关工程竣工结算的主要作用有误的是()。
在制定材料消耗定额时,可以用来确定材料损耗率的方法是()。
使生产者与生产资料相分离,将货币资本迅速集中于少数人手中的历史过程就是()
设f(x,y)=(Ⅰ)求;(Ⅱ)讨论f(x,y)在点(0,0)处的可微性,若可微并求af|(0,0).
Thesearchforthelostshipmustbe_____becauseofpoorweather.
Shoppingforclothesisnotthesameexperienceforamanasitisforawoman.Amangoesshoppingbecauseheneedssomething.
最新回复
(
0
)