我在找一个特定范围内的素数。我们得到以下信息:
•初始化: –创建一个长度为n+1的布尔值列表(我们希望检查包含n的素数;我们不会对位置0和1执行任何操作,但这样索引更容易),这些值最初都是真的 –将计数器初始化为2 –初始化结果的空列表
•启动while循环,只要上面定义的计数器小于或等于n,该循环就会运行 –将计数器的当前值添加到结果列表中 –对于当前计数器值的所有倍数,将布尔列表的值设置为False<;=n;您可以使用while或for循环来执行此操作。例如,如果i=3且n=10,则应将列表的元素6和9设置为False –向前搜索下一个可能的素数值: *首先将计数器递增1 *当计数器小于或等于n且布尔值的相应元素 如果列表为False,则将计数器增加1。 •返回结果列表
def eratos(n):
"""function_docstring"""
prime=[True]*(n+1)
# 0 and 1 are not considered prime.
count=2
result=list()
while count<=n:
count+=result
while count<=n:
prime=False
count+=1
while count<=n:
n=False
count+=1
print(eratos(1)==[])=True *i keep on getting False*
我似乎不知道自己哪里出了问题。你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐