tubular

prime.py

Nov 6th, 2011
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.68 KB | None | 0 0
  1. import math
  2. def plist(n):
  3.     a, b, c = range(2, n), 0, math.floor(math.sqrt(n))+1
  4.     while b < c:
  5.         for x in a[b+1:]:
  6.             if x % a[b] == 0:
  7.                 a.remove(x)
  8.         b += 1
  9.     return a
  10. def pcount(n):
  11.     return len(plist(n))
  12. def factor(arg):
  13.     if type(arg).__name__ == "int":
  14.         arg = [arg]
  15.     elif type(arg).__name__ == "list":
  16.         for x in arg:
  17.             if type(x).__name__ != "int":
  18.                 return arg
  19.     else:
  20.         return []
  21.     n = arg[0]
  22.     for x in plist(n):
  23.         if n % x == 0:
  24.             arg.append(x)
  25.             arg[0] = n/x
  26.             return factor(arg)
  27.     else:
  28.         arg.sort()
  29.         return arg
Advertisement
Add Comment
Please, Sign In to add comment