Prime Factor Decomposition of a Number
Join the DZone community and get the full member experience.Join For Free
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.
Published at DZone with permission of Giuseppe Vettigli, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.