首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列程序说明和C代码,回答问题1~2。 [说明] 本程序用古典的Eratosthenes的筛法求从2起到指定范围内的素数。如果要找出2至10中的素数,开始时筛中有2到10的数,然后取走筛中的最小的数2,宜布它是素数,并把该素数的倍数都取走。这样,
阅读下列程序说明和C代码,回答问题1~2。 [说明] 本程序用古典的Eratosthenes的筛法求从2起到指定范围内的素数。如果要找出2至10中的素数,开始时筛中有2到10的数,然后取走筛中的最小的数2,宜布它是素数,并把该素数的倍数都取走。这样,
admin
2009-02-15
60
问题
阅读下列程序说明和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://www.kaotiyun.com/show/aojZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
设有关系R、S、T如下所示,则________。
计算机网络有多种分类方法,下列叙述中不正确的是(15)。
结构化程序中的基本结构不包括(28)。
文件abc.docx______。
将Word2007文档中部分文本内容复制到其他地方,先要进行的操作是__________。
某商场统计了每个月的销售总额,坚持了多年。每次公布上月销售额时,还都采用同比和环比概念与历史数据进行对比。以下叙述中,正确的是________________。
数据属性有业务属性、技术属性(与技术实现相关的属性)和管理属性三大类。以下属性中,()属于业务属性。
下面关于幻灯片打印的叙述中,正确的是______。
在浏览网页时,当鼠标指针移至某些文字或某些图片时,会出现手形状,通常是由于网页在这个地方做了(17)。
在Excel的A2单元格中输入:“=1=2”,则显示的结果是______。
随机试题
心绞痛胸痛部位常见于
自动生化分析仪自动清洗吸加样针是为了
流感病毒最易变异的成分是()
适用于竣工后一次结算方法的建筑安装工程是()。
下列关于商业信用的描述,正确的有( )。
期货公司申请使用期货投资者保障基金前,必须()。
流动性风险是指由于流动性的不确定变化而使金融机构遭受损失的可能性。其中,流动性的含义可理解为()。Ⅰ.金融资产以合理的价格在市场上流通的能力Ⅱ.金融资产以合理的价格在市场上交易及变现的能力Ⅲ.金融机构能够随时支付其应付款项的能力Ⅳ.金融机构
下列属于共益债务的是()。
下列选项中不是社会主义经济效益特点的是
在下列微分方程中,以y=C1ex+C2cos2x+C3sin2x(C1,C2,C3为任意常数)为通解的是()
最新回复
(
0
)