Problème 7 "10001e nombre premier"
Lorsque les six nombres premiers sont rangés à partir du plus petit, ils sont 2, 3, 5, 7, 11, 13 et le sixième nombre premier est 13. 1000 Trouvez le premier nombre premier.
Python
n = 10001
def generate_primes(n):
primes = [2]
i = 3
while len(primes) < n:
for p in primes:
if i % p == 0:
break;
else:
primes += [i]
i += 2
return primes
primes = generate_primes(n)
result = primes[-1]
print result
print result == 104743
print len(primes)
résultat
104743
True
10001
Recommended Posts