我为该任务编写了代码:
Напишите программу, которая выводит на экран первые N простых чисел.
Входные данные
Входная строка содержит число N .
Выходные данные
Программа должна вывести первые N простых чисел в одной строке,
разделив их пробелом.
Примеры
входные данные
10
выходные данные
2 3 5 7 11 13 17 19 23 29
代码:
def is_prime(n):
q=2
while q*q<=n:
if n%q==0:
return False
q+=1
return True
n=int(input())
ans=[2]
q=3
while len(ans)<n:
if is_prime(q):
ans.append(q)
q+=2
print(*ans)
但是当向控制台输入数据时,输入没有结束,并且代码运行时间太长,我不知道该怎么办,请帮忙!
q毕竟不管简单还是要增加另外,列表中不断增加的积累是不必要的,可以立即显示
使用已经找到的素数的变体: