Untitled


SUBMITTED BY: Guest

DATE: July 7, 2013, 5:07 p.m.

FORMAT: Python

SIZE: 697 Bytes

HITS: 1095

  1. import math
  2. #prime factorization via the method of sieving
  3. num = input("input number:")
  4. sqrt = long(math.floor(math.sqrt(num)))
  5. list = range(2,sqrt+1)
  6. #print "List:",list
  7. prime = []
  8. for i in range(1, long(math.sqrt(sqrt)) + 1):
  9. temp = list[0]
  10. list.remove(list[0])
  11. prime.append(temp)
  12. list = [x for x in list if x%temp != 0]
  13. prime.extend(list)
  14. factor = []
  15. flag = True
  16. while True:
  17. for i in prime:
  18. if num%i == 0:
  19. factor.append(i)
  20. num = num/i
  21. prime = [x for x in prime if x<= long(math.floor(math.sqrt(num))) ]
  22. break;
  23. else:
  24. flag = False
  25. if flag == False:
  26. break
  27. factor.append(num)
  28. print factor

comments powered by Disqus