Совершенные числа известны со времен Пифагора. Число называется совершенным, если сумма всех его делителей, за исключением самого числа,равнялась этому числу. Так, число 6 — совершенное, поскольку его делители 1, 2 и 3 в сумме составляют 6.
Я написал пару тестов на питоне, которые падают по причине того, что ядро у меня сейчас на данный момент 32-битное, и вся память сжирается.
Первый тест считает только первые 5 совершенных чисел, второй - семь
Мне интересно, какие результаты будут на 64-битной архитектуре
В первом тесте можно поиграться с диапазоном 2,14 Во втором использовать в массиве бОльше чисел из последовательности Мерсенна
for i in range(2,14):
    x=2**(i-1)*(2**i-1)
    s=1
    for j in range(2,x/2+2):
        if(x%j==0):
          s+=j
    if (x==s):
        print '=====' +str(x)
n=[2, 3, 5, 7, 13, 17, 19]
for i in n:
  s=1
  s = reduce(lambda x, y: x+y , range(1, 2**i))
  print s






