Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import math
- def plist(n):
- a, b, c = range(2, n), 0, math.floor(math.sqrt(n))+1
- while b < c:
- for x in a[b+1:]:
- if x % a[b] == 0:
- a.remove(x)
- b += 1
- return a
- def pcount(n):
- return len(plist(n))
- def factor(arg):
- if type(arg).__name__ == "int":
- arg = [arg]
- elif type(arg).__name__ == "list":
- for x in arg:
- if type(x).__name__ != "int":
- return arg
- else:
- return []
- n = arg[0]
- for x in plist(n):
- if n % x == 0:
- arg.append(x)
- arg[0] = n/x
- return factor(arg)
- else:
- arg.sort()
- return arg
Advertisement
Add Comment
Please, Sign In to add comment