Advertisement
antoine311200

Trial division sped up

Jan 13th, 2019
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.41 KB | None | 0 0
  1. def trial_prime_division(n):
  2.     t = []
  3.     p = 3
  4.     if n%2 == 0:
  5.         t.append(2)
  6.         n //= 2
  7.    
  8.     while p*p <= n:
  9.         while (n%p) == 0:
  10.             t.append(p)
  11.             n //= p
  12.         p += 2
  13.     if n > 1:
  14.         t.append(n)
  15.     return t
  16.  
  17. print(trial_prime_division(15))
  18. print(trial_prime_division(21))
  19. print(trial_prime_division(493))
  20. print(trial_prime_division(540525642))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement