编程语:Python 难度:中等 单个测试集评测时长限制:3秒 (1)实现isPrime()函数,参数为整数。如果是素数,返回True,否则返回False。 (2)在(1)的基础上,编写一个函数listPrime(),该函数可以接受任意个数数据,返回其中所有的素数。调用函数,从键盘输入任意个数的数据,从中筛选出所有素数,并计算其平方和。要求使用匿名函数求平方。 (3)在(1)的基础上,编写一个函数printPrime(),参数为整数。打印传入整数以内的素数,以空格分隔,10个一行。调用函数,打印200以内的素数。 测试输入: 1 2 3 4 5 6 7 8 9 预期输出: 87 200以内的素数有: 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173
时间: 2024-03-08 21:49:03 浏览: 167
Python编程判断一个正整数是否为素数的方法
5星 · 资源好评率100%
以下是Python代码实现:
(1)判断一个数是否是素数,可以从2到sqrt(n)枚举每个数,如果都不能整除,则该数是素数。
```python
import math
def isPrime(n):
if n < 2:
return False
for i in range(2, int(math.sqrt(n)) + 1):
if n % i == 0:
return False
return True
```
(2)筛选出所有素数,并求平方和,可以使用filter()和map()函数来实现。
```python
nums = input().split()
# 筛选出所有素数
primes = list(filter(isPrime, map(int, nums)))
# 求平方和
square_sum = sum(map(lambda x: x**2, primes)))
print(square_sum)
```
(3)打印传入整数以内的素数,10个一行。
```python
def printPrime(n):
count = 0
for i in range(2, n+1):
if isPrime(i):
print(i, end=' ')
count += 1
if count % 10 == 0:
print()
print("200以内的素数有:")
printPrime(200)
```
阅读全文