MemoryError в python - есть ли какие-либо модификации, чтобы исправить это? - PullRequest
0 голосов
/ 29 мая 2020

Я пытаюсь запустить следующий код в возвышенном тексте:

def max_prime_factor(num):
    divisibles=[]
    prime_facors=[]
    for i in range(1,num):
        if num%i==0:
            divisibles.append(i)
        else:
            continue
    for j in divisibles:
        for k in range(2,j):
            if j%k==0:
                break
            else:
                continue

        prime_facors.append(j)
    return(max(prime_facors))

print(max_prime_factor(600851475143))

, используя машину, оснащенную:

enter image description here

и получаю следующую ошибку в возвышенном тексте. Придется ли мне изменять код, потому что он слишком сложен? Tnx заранее!

enter image description here

1 Ответ

1 голос
/ 29 мая 2020

Судя по комментариям, вы используете Python 2. В этом случае вам нужно будет использовать xrange вместо или range. xrange работает так же, как range, но более эффективно использует память. См. В чем разница между функциями range и xrange в Python 2.X?

...