-2
我必须创建一个函数f(n)
,其值为1
当数字为素数或数值为0
时不是素数。 代码正在工作,但按相反顺序打印。 例如:f(6)= 0 0 1 1 0 1 0
蟒蛇 - 当Eratosthenes数字为素数时打印“1”时不打印“0”
def prime(n):
if n<2: return False
for i in range(2,n):
if n%i == 0:
return False
return True
def f(n):
print('0', end=' ')
a=1
while a<=n:
n=n-1
print('1' if prime(n) else '0', end=' ')
f(6)
这不是_ [筛](http://en.wikipedia.org/wiki/Sieve_of_Eratosthenes)。这只是一个循环倒计数和天真地测试它们是否是素数。但是如果你想扭转输出的顺序,只需要反转循环。 –
我不知道如何:当n> = a? – Martin
查看[这篇文章](http://stackoverflow.com/a/3941967/764322)的筛选示例。你有什么只是一个非常低效的主要检查。 –