题库首页 › 青少年软件编程(Python) › 题目 2305

要求:设计一个算法,求1~n(n为大于2的正整数)中有哪些素数,总共是多少个素数? 根据上述计算规则,补全下列代码。 函数名:getPrime(n) 参数表:n -- n为大于2的正整数。 返回值:返回素数组成的数组。 示例:当n=9时,返回:您输入的区间1-n中素数分别是:[2, 3, 5, 7],总共是4个素数! primeList = [] import math def getPrime(n): for x in range(2,n+1): x_sqrt = ① for prime in primeList: if ② primeList.append(x) break if ③ break else: primeList.append(x) return primeList m=int(input("请您输入一个整数n:")) print('您输入的区间1-n中素数分别是:'+ ④ )+',总共是'+str(len(primeList))+'个素数!')

正确答案:补全答案:①int(math.sqrt(x)) ②prime>x_sqrt ③x%prime==0 ④str(primeList)。核心:埃氏筛思想,遍历到√x,能被已有素数整除则非素数。

试卷来源:202112 青少年软件编程等级考试Python四级真题

本卷相关题目

在线做题 同科目题库