第1套试题答案及详解
【知识点播】素数的定义:如果一个数的正因子只有1和这个数本身,那么这个数就是素数。
【审题分析】分析题目可知,题中需要解决的问题就是Primenum函数的功能问题(rwdata函数功能题中已经给出),而Primenum函数的功能是求在指定数m之后的k个素数,因此本题的关键在于如何判断一个数是素数,之后就可以通过一个for循环来求得在m之后的k个素数了。
【解题思路】根据素数的定义,本题采用的算法是:首先定义一个变量Value,并把m之后的数逐个赋值给该变量:然后用2~value/2数除value,如果value能被2~value/2之中的任何一个整数整除,则value不是素数,结束循环;如果value小能被2~value/2之间的任一整数整除,则退出循环,然后判断循环变量i是否大于value/2,如果大于,则value是素数,并将value值赋给array[n],然后n++;再判断n是否大于等于k,如果大于等于k,就完成了程序要求的功能,退出循环,否则value加1,根据以上算法继续进行。
【易错分析】判断一个数m(大于1)是否素数的简单的算法:枚举2到m/2之间的整数,看能否被m整除,如果能整除,就不是素数,否则是素数。
【考点链接】c语言中循环语句、if语句的应用和素数的算法。
3COME考试频道为您精心整理,希望对您有所帮助,更多信息在http://www.reader8.com/exam/