Solve problem 111 and fix bug in lib prime.
This commit is contained in:
@@ -68,6 +68,11 @@ def is_prime(n):
|
||||
|
||||
def is_prime_rabin_miller(number):
|
||||
""" Rabin-Miller Primality Test """
|
||||
witnesses = [2, 3, 5, 7, 11, 13, 17, 23, 29, 31, 37, 41, 43, 47, 53]
|
||||
|
||||
if number in witnesses:
|
||||
return True
|
||||
|
||||
if number % 6 not in [1,5]:
|
||||
return False
|
||||
|
||||
@@ -76,7 +81,7 @@ def is_prime_rabin_miller(number):
|
||||
s //= 2
|
||||
r += 1
|
||||
|
||||
for witness in [2, 3, 5, 7, 11, 13, 17, 23, 29, 31, 37, 41, 43, 47, 53]:
|
||||
for witness in witnesses:
|
||||
remainder = pow(witness, s, number)
|
||||
if remainder == 1:
|
||||
continue
|
||||
|
||||
Reference in New Issue
Block a user