关于Python中的项目Euler问题7的问题

时间:2018-09-03 12:19:22

标签: python

我一直在想关于项目Euler的问题7。我已经解决了 我的Python代码,但没有输出,而且我不知道是否存在任何语法和逻辑问题。您能帮我检查一下怎么了吗?这是原始问题:

通过列出前六个质数:2、3、5、7、11和13,我们可以看到第6个质数是13。什么是10 001个质数?

def isprime(n):
    for i in range(2,n):
        if n % i == 0:
            return False
    return True
x = 3
counter = 2
while counter <= 10001:
    if isprime(x):
        counter += 1
        x += 2
    else:
        x += 2
print (x)

1 个答案:

答案 0 :(得分:0)

在进行以下修复后,您的逻辑工作正常:

  1. 正确的缩进。
  2. 从最终结果中减去2。

请注意,您的实施效率低下。但是,它确实有效。

def isprime(n):
    for i in range(2, n):
        if n % i == 0:
            return False
    return True

x = 3

counter = 2

while counter <= 10001:
    if isprime(x):
        counter += 1
        x += 2
    else:
        x += 2

print(x-2)  # 104743