编写一个程序,输出n以内的所有素数。 example: input: 100 output: 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 用Python
时间: 2024-10-13 21:07:54 浏览: 22
你可以编写一个Python程序,利用埃拉托斯特尼筛法(Sieve of Eratosthenes)来找出指定范围内的所有素数。下面是一个简单的实现:
```python
def find_primes(n):
primes = [True] * (n+1) # 初始化一个布尔数组,标记所有数字为质数
p = 2 # 第一个素数是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(2, n + 1):
if primes[p]:
print(p, end=' ')
# 测试函数
input_n = int(input("请输入一个正整数:"))
find_primes(input_n)
```
当你运行这个程序并输入`100`,它会输出:
```
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
```
相关问题
编写一个函数,输出n以内的所有素数。 example: input: 100 output: 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 用Python
编写一个用于输出指定范围内素数的Python函数可以这样实现:
```python
def is_prime(num):
if num < 2:
return False
for i in range(2, int(num**0.5) + 1):
if num % i == 0:
return False
return True
def print_primes(n):
primes = []
for num in range(2, n+1):
if is_prime(num):
primes.append(num)
print(" ".join(str(p) for p in primes))
# 示例输入
print_primes(100)
```
这个`print_primes`函数首先定义了一个辅助函数`is_prime`,它检查一个数字是否为素数。接着,主函数遍历从2到n的所有整数,如果该数是素数,则将其添加到`primes`列表中。最后,将列表转换为字符串并打印出来。
运行此代码会得到100以内的所有素数。
编写一个函数,输出n以内的所有素数。 example: input: 100 output: 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用python
当然可以。下面是一个Python函数,它会生成并打印给定范围内的所有素数:
```python
def is_prime(num):
if num < 2:
return False
for i in range(2, int(num**0.5) + 1):
if num % i == 0:
return False
return True
def print_primes(n):
primes = []
for i in range(2, n+1):
if is_prime(i):
primes.append(i)
print(" ".join(str(p) for p in primes))
# 示例
print_primes(100)
```
当你运行`print_primes(100)`这个函数,它将输出从2到100之间的所有素数。这个函数首先定义了一个辅助函数`is_prime()`来检查是否是素数,然后主函数`print_primes()`遍历指定范围内每个数字,如果该数字是素数则添加到结果列表中,并最终打印出来。
阅读全文