python横向出现数字质数筛的的代码怎么写
时间: 2024-03-24 08:36:32 浏览: 43
如果你想要在 Python 中使用横向输出的方式实现质数筛法,可以使用以下代码:
```python
def sieve(n):
is_prime = [True] * (n + 1)
is_prime[0] = is_prime[1] = False
for i in range(2, int(n**0.5) + 1):
if is_prime[i]:
for j in range(i**2, n + 1, i):
is_prime[j] = False
return [i for i in range(n + 1) if is_prime[i]]
primes = sieve(100)
for num in primes:
print(num, end=' ')
```
这段代码会将 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 的所有质数,并且在输出时使用 `end` 参数指定输出的末尾字符为空格。具体实现中,我们使用一个布尔值列表 `is_prime` 来记录每个数字是否为质数,初始时设置所有数字都为质数。然后从 2 开始,遍历到 $\sqrt{n}$,如果当前数字是质数,则将其所有倍数标记为非质数。最后遍历所有数字,将是质数的数字加入到结果列表中。
相关问题
python判断100以内的质数如何横向出现
可以使用以下代码来判断100以内的质数,并将它们横向输出:
```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
# 输出100以内的质数
count = 0
for i in range(2, 101):
if is_prime(i):
print("{:<4d}".format(i), end='')
count += 1
if count % 10 == 0:
print() # 每行输出10个质数
```
输出结果如下:
```
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
```
横向输出100以内的质数python
可以使用如下代码来横向输出100以内的质数:
```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
# 输出100以内的质数
for i in range(2, 101):
if is_prime(i):
print(i, end=' ')
```
输出结果为:
```
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
```
阅读全文