用python求0~200的素数代码
时间: 2024-02-12 13:04:31 浏览: 61
下面是用Python编写的求0~200的素数代码:
```python
primes = []
for num in range(2, 201):
for i in range(2, num):
if num % i == 0:
break
else:
primes.append(num)
print(primes)
```
运行结果为:
```
[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, 179, 181, 191, 193, 197, 199]
```
这个代码使用了两个for循环,第一个循环遍历了2到200之间的所有整数,第二个循环用于判断当前的整数是否是素数。如果当前整数num能够被小于它的整数i整除,那么它就不是素数,直接退出循环;否则将其加入素数列表中。
相关问题
使用python输出100~200的所有素数
在Python中,我们可以使用一个经典的算法——埃拉托斯特尼筛法(Sieve of Eratosthenes)来找出100到200之间的所有素数。以下是实现这一功能的代码:
```python
def sieve_of_eratosthenes(n):
primes = [True] * (n + 1) # 初始化一个布尔数组表示所有数都是质数
p = 2
while p * p <= n:
if primes[p]: # 如果p是质数
for i in range(p * p, n + 1, p): # 将p的倍数标记为非质数
primes[i] = False
p += 1
# 打印素数列表
for p in range(100, n+1):
if primes[p]:
print(p)
# 调用函数输出100到200的素数
sieve_of_eratosthenes(200)
```
这段代码首先创建了一个布尔数组,然后通过迭代去除所有的合数,最后保留下来的便是素数。
python求300~400以内最大素数
可以使用以下代码来求解:
```python
def is_prime(num):
"""
判断是否为素数
"""
if num <= 1:
return False
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
return False
return True
max_prime = -1
for i in range(300, 401):
if is_prime(i):
max_prime = i
print(max_prime)
```
输出结果为 397,即 300~400 之间最大的素数。
阅读全文