有一组正整数数据,找出其中的质数及其个数。要求用函数is_prime(m)实现判断一个数是否是质数,用函数prime_sum(It)实现找出这组正整数中的质数及其个数。
时间: 2024-05-05 19:21:18 浏览: 63
可以按照以下步骤实现:
1. 编写一个函数 `is_prime(m)`,判断给定的正整数 `m` 是否是质数。如果是质数,返回 `True`,否则返回 `False`。
```python
def is_prime(m):
if m < 2:
return False
for i in range(2, int(m ** 0.5) + 1):
if m % i == 0:
return False
return True
```
2. 编写一个函数 `prime_sum(It)`,找出给定的正整数中的所有质数及其个数。该函数接受一个可迭代对象 `It` 作为参数,返回一个字典,其中键为质数,值为该质数在给定的正整数中出现的次数。
```python
def prime_sum(It):
primes = {}
for num in It:
if is_prime(num):
primes[num] = primes.get(num, 0) + 1
return primes
```
3. 调用函数 `prime_sum(It)`,找出给定的正整数中的所有质数及其个数。例如,对于给定的正整数列表 `[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]`,可以调用函数 `prime_sum` 如下:
```python
It = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
primes = prime_sum(It)
print(primes)
```
输出结果为:
```
{2: 1, 3: 1, 5: 1, 7: 1}
```
其中,键 `2`、`3`、`5`、`7` 分别表示 `2`、`3`、`5`、`7` 这些质数,值 `1` 表示它们在给定的正整数列表中出现的次数。
阅读全文