全国计算机等级三级网络技术上机练习习题(56)
来源:优易学  2010-1-15 9:47:57   【优易学:中国教育考试门户网】   资料下载   IT书店

  第56套上机考试试题
  下列程序的功能是:计算500~800区问内素数的个数count,并按所求素数的值从大到小的顺序排序内.计算其间隔加、减之和,即第1个素数.第2个素数+第3个素数.第4个素数+第5个素数……的值sum。
  请编写函数primeValue()实现程序的要求。最后调用函数writeDat(),把结果count和sum输出剑OUT.dat文件中。
  注意:部分源程序已给出。请勿改动丰函数main()和输出数据函数writeDat()的内容。
  

  第56套试题答案及详解
  【审题分析】分析题目可知,本题只要实现prime Value()函数的功能即可。prime Value()要实现的功能是:计算指定区域内素数的个数count,并排序,再根据指定的运算关系计算sum值。因此解答本题的关键在于如何判断一个数是否为素数。
  【解题思路】判断一个数是否是素数的算法是:如果存在一个从2开始到这个数的一半之间的数能被这个数整除,则这个数不是素数;否则这个数是素数。
  题中,循环变量i从800递减到500,如果存在小于i/2的一个数j,使表达式i%j的值等于0,则当前数i不是素数,否则i是素数。计数数变量count加1,把变量i的值加到变量数组yy中。在求这些素数的间隔加、减之和时,采用了标志变最j,每循环一次变量i都乘以-1。
  【参考答案】
  
  【易错分析】判断一个数是否是素数时,自变量循环变量i从2递增到i/2
  【考点链接】判断一个数是素数的算法。

责任编辑:小草

文章搜索:
 相关文章
热点资讯
热门课程培训