En verimli bir algoritma faktörler hesaplayabilir bulunan bir yerde okumak zaman, ama yazdığı kod O ( n ) ya da Muhtemelen O ( n log n ) bölünme ve modülün ne kadar hızlı olduğuna bağlı olarak ... Bir yerde bir şeyleri yanlış anladığımdan eminim, ama nerede olduğundan emin değilim.
function factor(number) -> list
factors = new list
if number < 0
factors.append(-1)
number = -number
i = 2
while i <= number
while number % i == 0
factors.append(i)
number /= i
i++
return factors