Я пытаюсь найти 2 простых числа, которые суммируются до определенного целого N, указанного пользователем. Но я получаю эту ошибку ОМППочему я превысил лимит памяти?
def is_prime(n):
if n == 2:
return True
if n%2 == 0 or n <= 1:
return False
sqr = int(n**0.5) + 1
for divisor in range(3, sqr, 2):
if n%divisor == 0:
return False
return True
class Solution:
# @param A : integer
# @return a list of integers
def primesum(self, A):
#Creating the list of prime numbers
h_prime ={}
# Initializing the hash table
# looking for the prime numbers
for i in range (2, long (A)):
if (is_prime(i)):
h_prime [i] = A-i;
# Checking if the compliment is also a prime
#We go through it element by element
for key in h_prime:
if key in h_prime and A-key in h_prime:
my_list = [ key, A-key]
return my_list
Как вы узнали, что предел памяти превышен? Вы получаете сообщение об ошибке? –
Ваш записанный код никогда не выполняется, так как вы никогда не вызываете функцию. Пожалуйста, дайте нам свой фактический [минимальный, полный, проверяемый пример] (http://stackoverflow.com/help/mcve). –
Какова ценность 'A'? –