3. 定义一个类,实现输出大于m且紧随m的k个素数。
时间: 2024-05-15 22:13:01 浏览: 89
以下是一个实现该功能的 Python 类:
```python
class PrimeNumbers:
def __init__(self, m, k):
self.m = m
self.k = k
def is_prime(self, n):
if n < 2:
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True
def get_next_prime(self, n):
next_num = n + 1
while not self.is_prime(next_num):
next_num += 1
return next_num
def get_primes(self):
primes = []
current_num = self.m
while len(primes) < self.k:
current_num = self.get_next_prime(current_num)
primes.append(current_num)
return primes
```
该类接受两个参数:m 和 k,分别表示起始值和需要输出的素数个数。
`is_prime` 方法用来判断一个数是否为素数。
`get_next_prime` 方法用来获取比当前数更大的下一个素数。
`get_primes` 方法用来获取大于 m 且紧随 m 的 k 个素数。
使用例子:
```python
pn = PrimeNumbers(10, 5)
print(pn.get_primes()) # [11, 13, 17, 19, 23]
```
阅读全文