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.)