Prime Factor Decomposition of a Number
The following function computes the prime factors (PFs) of an integer.
from math import floor
def factors(n):
result = []
for i in range(2,n+1): # test all integers between 2 and n
s = 0;
while n/i == floor(n/float(i)): # is n/i an integer?
n = n/float(i)
s += 1
if s > 0:
for k in range(s):
result.append(i) # i is a pf s times
if n == 1:
return result
# test
print factors(90)The result will be
[2, 3, 3, 5]
This means that 90 is equal to 2*3*3*5.
(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)
Tags:





