[试题]

阅读下列程序说明和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程序,回答问题。[说明] 下面的程序用Dole Rob算法生成N

[试题]阅读以下说明和C程序,回答问题。[说明]下面的程序用Dole Rob算法生成N阶(N为奇数)魔方阵(各行、列、对角线数字之和相等)。该算法的过程为:从1开始,按如下方法依次插入各自然数,直到N2为止。①在第一行的正中插入1。②新位置应当处于最近插入位置的右上方,若该位置已超出方阵的上边界,则新位置取应选列的最下一个位置;若超出右边界,则新位置取应选行的最左一个位置。③若最近插入的元素是N的整数倍,则选同列的下一行位置为新位置。例如,3阶魔方阵如下所示:8 1 63 5 74 9 2[C程序]inc

  • 查看答案
  • 阅读以下技术说明和程序代码,根据要求回答问题。 [说明] 某公司用ASP£«SQ

    [主观题]阅读以下技术说明和程序代码,根据要求回答问题。[说明]某公司用ASP+SQL Server开发的电子商务网站系统,提供了商品查询、网上购物车、订单管理、后台商品管理和支付等功能。图6~11是用ASP实现的电子商务网站的主页。系统的数据库名为 shangwu,所在服务器IP地址为211.54.32.21,其中,user表用于存放注册用户名和密码,结构如表 6-19所示。设计该电子商务网站时,某页面框架代码如下。该网页代码中定义了(1)个框架。

  • 查看答案
  • 阅读下列函数说明和C£«£«代码,回答问题[说明] 任何一种程序都是为了解决问题

    [试题]阅读下列函数说明和C++代码,回答问题[说明]任何一种程序都是为了解决问题而撰写的,解决问题时需要实现一些特定的运算法则。在策略(Strategy)模式下,可以更换实现算法的部分而不留痕迹,切换整个算法,简化改为采用其他方法来解决同样问题。以下是一个“剪刀石头布”游戏。猜拳时的“策略”有2种方法:第一种是“猜赢后继续出同样的招式”(WinningStrategy),第二种是“从上一次出的招式中,以概率分配方式求出下一个招式的几率”(ProbStrategy)。程序中定义了Hand类表示猜拳时的“手

  • 查看答案
  • 阅读以下说明,回答问题1和问题2。(说明) 用Authorware制作课件,制作

    [试题]阅读以下说明,回答问题1和问题2。(说明)用Authorware制作课件,制作者不需要掌握太多的编程技巧,只需要将软件提供的图标拖放到流程线上,然后将教学素材添加到图标中,再利用图标设置画面的控制页面的跳转和内容的交互等,就可以制作出能包含文字、声音、图像、动画等多种媒体的CAI课件来。但是,Authorware的文本排版能力和文本编辑能力等都比较欠缺,这影响了课件画面的美观。简述多媒体课件的优势。

  • 查看答案
  • 阅读以下应用说明、图和C£«£«代码,根据要求回答问题1至问题3。 [说明] 已

    [主观题]阅读以下应用说明、图和C++代码,根据要求回答问题1至问题3。[说明]已知以下C++程序运行时的输出结果如下。1:11:11:1[C++程序]01 include <iostream>02 using namespace std;03 class Stock{04 protect:05 (1) { };06 Stock(int n, int pr=1) {07 shares = n; share_val=pr;08 };09 void ~Stock() { };10 public:11 //成员

  • 查看答案
  • 阅读以下函数说明和C代码,回答问题[说明] 任何一种程序都是为了解决问题而撰写的

    [试题]阅读以下函数说明和C代码,回答问题[说明]任何一种程序都是为了解决问题而撰写的,解决问题时需要实现一些特定的运算法则。在策略(Strategy)模式下,可以更换实现算法的部分而不留痕迹,切换整个算法,简化改为采用其他方法来解决同样问题。以下是一个“剪刀石头布”游戏。猜拳时的“策略”有2种方法:第一种是“猜赢后继续出同样的招式”(WinningStrategy),第二种是“从上一次出的招式种,以概率分配方式求出下一个招式的几率”(ProbStrategy)。程序中定义了Hand类表示猜拳时的“手势”

  • 查看答案
  • 阅读以下说明和Java代码,回答问题[说明] 任何一种程序都是为了解决问题而撰写

    [主观题]阅读以下说明和Java代码,回答问题[说明]任何一种程序都是为了解决问题而撰写的,解决问题时需要实现一些特定的运算法则。在策略(Strategy)模式下,可以更换实现算法的部分而不留痕迹,切换整个算法,简化改为采用其他方法来解决同样问题。以下是一个“剪刀石头布”游戏。猜拳时的“策略”有2种方法:第一种是“猜赢后继续出同样的招式”(WinningStrategy),第二种是“从上一次出的招式种,以概率分配方式求出下一个招式的几率”(ProbStrategy)。程序中定义了Hand类表示猜拳时的“手

  • 查看答案
  • 阅读下列程序说明和C£«£«代码,将应填入(n)处。 (说明) “背包问题”的基

    [主观题]阅读下列程序说明和C++代码,将应填入(n)处。(说明)“背包问题”的基本描述是:有一个背包,能盛放的物品总重量为S,设有N件物品,其重量分别为w1;w2,……,wn,希望从N件物品中选择若干件物品,所选物品的重量之和恰能放入该背包,即所选物品的重量之和等于S。如下程序均能求得“背包问题”的一组解,其中程序4.1是“背包问题”的递归解法,而程序4.2是“背包问题”的非递归解法。(程序4.1)include<stdio.h>define N 7define S 15int w[N+1]={0,1,

  • 查看答案
  • 阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。说明:堆数

    [案例分析题] 阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。说明:堆数据结构定义如下。对于n个元素的关键字序列(a1,a2,...,an),当且仅当满足下列关系时称其为堆:在一个堆中,若堆顶元素为最大元素,则称为大顶堆;若堆顶元素为最小元素,则称为小顶堆。堆常用完全二叉树表示,图8.11是一个大顶堆的例子。堆数据结构常用于优先队列中,以维护由一组元素构成的集合。对应于两类堆结构,优先队列也有最大优先队列和最小优先队列,其中最大优先队列采用大顶堆,最小优先队列采用小项堆。以下考虑最

  • 查看答案
  • 阅读以下技术说明、Java源程序和运行测试部分,根据要求回答问题1和问题2。(说

    [试题]阅读以下技术说明、Java源程序和运行测试部分,根据要求回答问题1和问题2。(说明)1.HTTP◆ HTTP请求消息示例G.ET/index,htmlHTTP/1.1A.ccept:image/gif,image/jpeg,*/*A.ccept-Language:zh-chA.ccept-encoding:gzip,deflateUser-Agent:Mozilla/4.0(compatible: MSIE6.0;Windows 2003)H.ost:localhost:8080C.onnecti

  • 查看答案
  • 阅读下列程序说明和C代码,回答问题1~2。[说明] 本程序用古典的Eratost