[Python] Python - Optimisation of Perfect Number search

Discussão em 'Python' iniciado por Stack, Abril 9, 2025.

  1. Stack

    Stack Membro Participativo

    p = []
    for x in range(1, 50000000):
    count = 0
    for y in range(1, x // 2 + 1):
    if (x % y == 0):
    count += y
    if (count == x):
    p.append(x)


    This is my code to try and find all the perfect numbers that originate between 1 and 50000000. It works fine for the first 3 numbers, they are between 1 and 10000. But as it progresses it becomes extremely slow. Like maybe going through 1000 numbers every 10 seconds. Then eventually going through 10 numbers every 5 seconds.

    Now is there anyway I could make this faster? I tried including some smaller things, like diving x by 2 to make sure we don't go over half (not going to be a multiple of x)

    Continue reading...

Compartilhe esta Página