Я попробовал несколько различных методов, чтобы получить общее число 10001.Список простых номеров Python неправильный?
def isPrime(value):
if ((2**value)-2)%value==0:
return True
def nthPrime(n):
count = 0
value = 1
while count < n:
value += 1
if isPrime(value):
count += 1
return value
Когда 10001 аргумент это возвращает 103903. Когда я ожидал 104743.
Я пробовал:
primes = []
for i in range(2,105000):
if ((2**i) - 2) % i == 0:
primes.append(i)
print primes[10001] ---> 103903
Что делает ваш 'isPrime' функция ответа для чисел: 1105, 1729, 2465? Вы точно знаете, что 1105 и 2465 являются * не * премьер ... (Подсказка: http://en.wikipedia.org/wiki/Carmichael_number) – Pablo
Псевдо-простые числа eh, я смутно помню, как это произошло раньше но это дало ему некоторый контекст. Хороший материал, спасибо! – tijko