fork download
  1. def isPrime(n):
  2. if (n==2):
  3. return True
  4. if (n%2==0):
  5. return False
  6. k=3
  7. while(k < n//2):
  8. if (n%k)==0:
  9. return False
  10. k+=2
  11. return True
  12.  
  13. def mkPrimeList(n):
  14. return list(filter(isPrime,range(2,n)))
  15.  
  16. def factorize(n):
  17. plist=mkPrimeList(n)
  18. res=[]
  19. nn=n
  20. for p in plist:
  21. if (nn%p==0):
  22. c=0
  23. while(nn%p==0):
  24. c+=1
  25. nn//=p
  26. res+=[(p,c)]
  27. return res
  28.  
  29. print(str(factorize(100)))
  30.  
Success #stdin #stdout 0.02s 27712KB
stdin
Standard input is empty
stdout
[(2, 2), (5, 2)]