python求300~400以内最大素数
时间: 2023-06-29 11:10:22 浏览: 116
可以使用以下代码来求解:
```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 之间最大的素数。
相关问题
python输出1~100以内所有素数
在Python中,我们可以使用埃拉托斯特尼筛法(Sieve of Eratosthenes)来找出1到100之间的所有素数。这是一种简单而有效的算法,通过不断排除能整除已知素数的数,最终筛选出所有的素数。以下是实现这个算法的代码:
```python
def find_primes(n):
primes = [True] * (n + 1)
p = 2
while p * p <= n:
if primes[p]:
# 将p的倍数标记为非素数
for i in range(p * p, n + 1, p):
primes[i] = False
p += 1
# 输出1到n内的素数
for p in range(2, n + 1):
if primes[p]:
print(p)
# 调用函数找出1到100之间的素数
find_primes(100)
```
当你运行这段代码,它会打印出1到100之间所有的素数。
python递归输出1~100以内所有素数
在Python中,我们可以使用递归来找出1到100范围内的素数。素数是指只有1和其本身两个正因数的自然数。以下是递归函数的一个例子:
```python
def is_prime(n, i=2):
# 基本情况:1不是素数,n小于等于1也不是
if n <= 1 or (n == 2 and i == 1):
return True if n == 2 else False
# 如果n能被i整除,则n不是素数
elif n % i == 0:
return False
# 除了1和n外,其他因子都要从i开始递增检查
elif i * i > n:
return True
else:
return is_prime(n, i + 1)
def print_primes(start, end):
for num in range(start, end + 1):
if is_prime(num):
print(num)
# 输出1到100之间的素数
print_primes(1, 100)
```
这个程序会首先定义一个`is_prime`函数来判断是否是素数,然后通过`print_primes`函数遍历指定范围并打印素数。
阅读全文