编写代码,求解指定范围内的素数,并以列表的形式展现。
输入格式:
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]
输入样例:
在这里给出一组输入。例如:
10
输出样例:
在这里给出相应的输出。例如:
[2, 3, 5, 7]
输入样例:
在这里给出一组输入。例如:
50
输出样例:
在这里给出相应的输出。例如:
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47]
在这里给出一组输入。例如:
-10
输出样例:
在这里给出相应的输出。例如:
[]
代码长度限制16 KB
时间限制400 ms
内存限制64 MB
答案其中之一
n=int(input())
arr2=[] #创建一个空列表arr2[]
if n<=0: #判断输入的数字是否合理,小于等于0则报错
print('ERROR!')
else:
arr=[1]*n #创建长度为n的一个列表,列表每一个元素为1.
for i in range(3,n):
if i%2==0: #如果i可以被2整除,说明不是素数,初步排除
arr[i]=0 #将arr数组对应i位置置为0
for i in range(3,n):
if arr[i]: #对应位不为0执行下列的for循环
for j in range(i+i,n,i): #将i的倍数非素数排除掉
arr[j]=0 #将arr数组对应j位置置为0
for i in range(2,n): #从2开始依次到n
if arr[i]: #如果对应为不为0,则执行if执行语句
arr2.append(i) #在arr2列表中加入相应元素
print(arr2,end='')
执行结果图