python中求1-100间的素数并从小到大加入一个列表
时间: 2024-05-12 09:20:20 浏览: 14
可以使用以下代码:
```python
# 判断一个数是否为素数
def is_prime(n):
if n < 2:
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True
# 生成1-100间的素数列表
prime_list = []
for i in range(1, 101):
if is_prime(i):
prime_list.append(i)
# 输出素数列表
print(prime_list)
```
输出结果为:
```
[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
n = int(input("请输入一个正整数:")) # 输入一个正整数
factors = [] # 用来存放质因子的列表
# 循环从2到n,找出n的所有质因子
for i in range(2, n+1):
while n % i == 0: # 如果i是n的因子,则一直循环
factors.append(i) # 把i添加到质因子列表中
n //= i # 更新n的值,即去掉i这个因子
# 输出质因子列表中的所有元素,即输出质因子
print("所输入的正整数的质因子为:", end='')
for factor in factors:
print(factor, end=' ')
```
例如,如果输入的正整数为60,则输出结果为:所输入的正整数的质因子为:2 2 3 5 。
python在同一行中从小到大依次输出不大于n的全部素数,每个数字后面一个空格。
以下是Python代码实现,输出不大于 n 的全部素数:
```python
n = int(input())
is_prime = [True] * (n + 1)
for i in range(2, n + 1):
if is_prime[i]:
print(i, end=' ')
for j in range(i * i, n + 1, i):
is_prime[j] = False
```
该代码使用了一个布尔型数组 `is_prime`,其中 `is_prime[i]` 表示数字 i 是否为素数。初始时,所有元素都被置为 True。然后,从 2 开始遍历到 n,如果发现当前数字 i 是素数,则输出 i,并将大于 i 且为 i 的倍数的数字的 `is_prime` 值置为 False。最终,输出的就是不大于 n 的全部素数。其中 `end=' '` 表示输出结束后不换行,而是输出一个空格。