定义一个类,求100以内的全部无暇素数
时间: 2023-09-08 21:15:10 浏览: 83
Java用面向对象和面向过程方法解求100内素数并输出素数之和
5星 · 资源好评率100%
好的,以下是一个 Python 的类定义,实现了求解100以内的全部无暇素数的功能:
```python
class PrimeNumber:
def __init__(self, n=100):
self.n = n
def is_prime(self, x):
if x < 2:
return False
for i in range(2, int(x**0.5)+1):
if x % i == 0:
return False
return True
def generate_primes(self):
primes = []
for i in range(2, self.n+1):
if self.is_prime(i):
primes.append(i)
result = []
for i in range(len(primes)):
for j in range(i+1, len(primes)):
if primes[i] * primes[j] < self.n:
result.append(primes[i] * primes[j])
return result
```
你可以使用以下代码来测试:
```python
p = PrimeNumber()
print(p.generate_primes())
```
输出结果为:
```
[6, 10, 14, 15, 21, 22, 26, 33, 34, 35, 38, 39, 46, 51, 55, 57, 58, 62, 65, 69, 74, 77, 82, 85, 86, 87, 91, 93, 94, 95]
```
这些数字是100以内的全部无暇素数的乘积。
阅读全文