用python定义一个类,实现输出大于m且紧随m的k个素数
时间: 2024-05-06 11:16:44 浏览: 84
下面是一个实现了该功能的 Python 类:
```python
class PrimeGenerator:
def __init__(self, m=2):
self.m = m
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_k_primes(self, k):
primes = []
n = self.m
while len(primes) < k:
if self.is_prime(n):
primes.append(n)
n += 1
return primes
```
在这个类中,我们定义了以下方法:
- `__init__(self, m=2)`:构造函数,初始化 `m` 值。
- `is_prime(self, n)`:判断一个数 `n` 是否为素数。
- `get_k_primes(self, k)`:输出大于 `m` 且紧随 `m` 的 `k` 个素数。
我们可以通过以下代码使用该类:
```python
pg = PrimeGenerator(10)
print(pg.get_k_primes(5)) # 输出大于10且紧随10的5个素数:[11, 13, 17, 19, 23]
```
在这个例子中,我们创建了一个 `PrimeGenerator` 对象,并将 `m` 设置为 10。然后,我们调用 `get_k_primes(5)` 方法来输出大于 10 且紧随 10 的 5 个素数。输出结果为 `[11, 13, 17, 19, 23]`。
阅读全文