# Prime Factor Decomposition of a Number

Join the DZone community and get the full member experience.

Join For FreeThe 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.

PRIME (PLC)
Factor (programming language)
Decomposition (computer science)

Published at DZone with permission of Giuseppe Vettigli, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

Comments