【python】求解100以内的所有素数
题目描述:
输出100以内的所有素数,素数之间以一个空格区分(注意,最后一个数字之后不能有空格)。
路:使用join内部连接即可保证最后一个数字没有空格。
n = [2] # 存储结果
for i in range(3, 101, 2): # 排除大于3的所有偶数
sqr = int(i**0.5 + 1)
for j in range(2, sqr):
if i % j == 0:
break
else:
n.append(i)
print(' '.join(str(k) for k in n))
精简版:
# [x % y for y in range(2, x // 2 + 1)]通过列表解析得到x%y的所有值
print(' '.join(str(x) for x in range(2, 101) # 此处不需要换行符'\'
if 0 not in [x % y for y in range(2, int(x**0.5 + 1))]))