Qual é o algoritmo de fatoração mais rápido?

Eu escrevi um programa que tenta encontrar pares amigáveis. Isso requer encontrar as somas dos divisores apropriados dos números.

Aqui está o meu atualsumOfDivisors() método:

int sumOfDivisors(int n)
{  
    int sum = 1;
    int bound = (int) sqrt(n);
    for(int i = 2; i <= 1 + bound; i++)
    {
        if (n % i == 0)
            sum = sum + i + n / i;
    } 
    return sum;
}

Então, eu preciso fazer muita fatoração e isso está começando a se tornar o verdadeiro gargalo no meu aplicativo. Eu digitei um número enorme no MAPLE e ele o considerou incrivelmente rápido.

Qual é um dos algoritmos de fatoração mais rápidos?

questionAnswers(7)

yourAnswerToTheQuestion