选择题:阅读下列程序说明和C代码,回答问题1~2。[说明] 本程序用古典的Eratosthenes的筛法求从2起到指定范

  • 题目分类:软考初级
  • 题目类型:选择题
  • 查看权限:VIP
题目内容:
阅读下列程序说明和C代码,回答问题1~2。

[说明]

本程序用古典的Eratosthenes的筛法求从2起到指定范围内的素数。如果要找出2至10中的素数,开始时筛中有2到10的数,然后取走筛中的最小的数2,宜布它是素数,并把该素数的倍数都取走。这样,第一步以后,筛子中还留下奇数3、5、7、9:重复上述步骤,再取走最小数3,宣布它为素数,井取走3的倍数,于是留下5、7。反复重复上述步骤,直至筛中为空时,工作结束,求得2至 10中的全部素数。

程序中用数组sieve表示筛子,数组元素sieve[i]的值为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)。




参考答案:

阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。 [函数2.1说明] 将一个正整数分

阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。 [函数2.1说明] 将一个正整数分

查看答案

如果已经把图12-3中的mp3下载完,而又想让别人从自己的电脑中下载,必须怎么操作?

如果已经把图12-3中的mp3下载完,而又想让别人从自己的电脑中下载,必须怎么操作?

查看答案

●用定点补码表示纯小数,采用8位字长,编码10000000表示的十进制数是 (4) 。(4) A.-1 B.-2 C.+1 D.+

●用定点补码表示纯小数,采用8位字长,编码10000000表示的十进制数是 (4) 。(4) A.-1 B.-2 C.+1 D.+

查看答案

●通常计算机的存储器是一个由Cache、主存和辅存构成的3级存储系统。辅助存储器一般可由磁盘、磁带和

●通常计算机的存储器是一个由Cache、主存和辅存构成的3级存储系统。辅助存储器一般可由磁盘、磁带和

查看答案

图4-8拓扑结构中,区域A是(10)。(10) A.服务区 B.DMZ区 C.堡垒主机 D.安全区

图4-8拓扑结构中,区域A是(10)。(10) A.服务区 B.DMZ区 C.堡垒主机 D.安全区

查看答案