Để xác định xem một số là một số nguyên tố, có một sàng và các bài kiểm tra nguyên thủy.
# for large numbers, xrange will throw an error.
# OverflowError: Python int too large to convert to C long
# to get over this:
def mrange[start, stop, step]:
while start < stop:
yield start
start += step
# benchmarked on an old single-core system with 2GB RAM.
from math import sqrt
def is_prime[num]:
if num == 2:
return True
if [num < 2] or [num % 2 == 0]:
return False
return all[num % i for i in mrange[3, int[sqrt[num]] + 1, 2]]
# benchmark is_prime[100**10-1] using mrange
# 10000 calls, 53191 per second.
# 60006 function calls in 0.190 seconds.
Đây dường như là nhanh nhất. Có một phiên bản khác sử dụng not any
mà bạn thấy,
def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
Tuy nhiên, trong các điểm chuẩn, tôi đã nhận được 70006 function calls in 0.272 seconds.
về việc sử dụng all
60006 function calls in 0.190 seconds.
trong khi kiểm tra xem
def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
0 có phải là chính không.Nếu bạn cần tìm Prime cao nhất tiếp theo, phương pháp này sẽ không phù hợp với bạn. Bạn cần phải đi với một bài kiểm tra nguyên thủy, tôi đã tìm thấy thuật toán Miller-Rabin là một lựa chọn tốt. Nó chậm hơn một chút phương pháp Fermat, nhưng chính xác hơn so với giả hành. Sử dụng phương pháp đã đề cập ở trên mất +5 phút trên hệ thống này.
def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
1 Thuật toán:from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
2 Algoithm:def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
Để có được số nguyên tố cao nhất tiếp theo:
def next_prime[num]:
if [not num & 1] and [num != 2]:
num += 1
if is_prime[num]:
num += 2
while True:
if is_prime[num]:
break
num += 2
return num
print next_prime[100**10-1] # returns `100000000000000000039`
# benchmark next_prime[100**10-1] using Miller-Rabin algorithm.
1000 calls, 337 per second.
258669 function calls in 2.971 seconds
Sử dụng thử nghiệm
def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
2, chúng tôi đã đạt điểm chuẩn là def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
4, nhưng bạn có cơ hội giả giả cao hơn.Vì vậy, nếu chỉ cần kiểm tra xem một số là số nguyên tố hay không, phương pháp đầu tiên cho
def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
5 hoạt động tốt. Đó là nhanh nhất, nếu bạn sử dụng phương thức def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
6 với nó.Lý tưởng nhất, bạn sẽ muốn lưu trữ các số nguyên tố được tạo ra bởi
def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
7 và chỉ cần đọc từ đó.Ví dụ: sử dụng
def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
7 với thuật toán def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
1:print next_prime[10^301]
# prints in 2.9s on the old single-core system, opposed to fermat's 2.8s
1000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000531
Bạn sẽ không thể làm điều này với
from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
0 một cách kịp thời. Tôi thậm chí không thể làm điều đó trên hệ thống cũ này.Và để chắc chắn rằng
from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
1 và def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
1 mang lại một giá trị chính xác, điều này cũng đã được kiểm tra bằng cách sử dụng các thuật toán def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
2 và ____24.Xem: Fermat.py, Miller_Rabin.py và Solovay_strassen.py trên gist.github.com
Chỉnh sửa: Đã sửa lỗi trong
def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
7Làm thế nào để bạn kiểm tra một số lượng lớn là số nguyên tố hay không trong Python?
Để tìm một số nguyên tố trong Python, bạn phải lặp lại giá trị từ đầu đến cuối bằng cách sử dụng vòng lặp và cho mỗi số, nếu nó lớn hơn 1, hãy kiểm tra xem nó có chia n không. Nếu chúng ta tìm thấy bất kỳ số nào khác phân chia, in giá trị đó.
print next_prime[10^301]
# prints in 2.9s on the old single-core system, opposed to fermat's 2.8s
1000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000531
1print next_prime[10^301]
# prints in 2.9s on the old single-core system, opposed to fermat's 2.8s
1000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000531
2def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
2print next_prime[10^301]
# prints in 2.9s on the old single-core system, opposed to fermat's 2.8s
1000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000531
4def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
2print next_prime[10^301]
# prints in 2.9s on the old single-core system, opposed to fermat's 2.8s
1000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000531
6def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
2print next_prime[10^301]
# prints in 2.9s on the old single-core system, opposed to fermat's 2.8s
1000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000531
8def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
2not any
0def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
2not any
2def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
2not any
4def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
2not any
6def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
2not any
8print next_prime[10^301]
# prints in 2.9s on the old single-core system, opposed to fermat's 2.8s
1000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000531
0Làm thế nào để bạn tạo ra các số nguyên tố lớn trong Python?
print next_prime[10^301]
# prints in 2.9s on the old single-core system, opposed to fermat's 2.8s
1000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000531
1all
8def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
260006 function calls in 0.190 seconds.
0def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
260006 function calls in 0.190 seconds.
2def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
260006 function calls in 0.190 seconds.
4def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
260006 function calls in 0.190 seconds.
6def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
260006 function calls in 0.190 seconds.
8def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
2def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
00print next_prime[10^301]
# prints in 2.9s on the old single-core system, opposed to fermat's 2.8s
1000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000531
0print next_prime[10^301]
# prints in 2.9s on the old single-core system, opposed to fermat's 2.8s
1000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000531
1def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
03def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
2def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
05def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
2def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
07def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
2def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
09def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
2def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
11def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
2def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
13def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
2def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
15print next_prime[10^301]
# prints in 2.9s on the old single-core system, opposed to fermat's 2.8s
1000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000531
0print next_prime[10^301]
# prints in 2.9s on the old single-core system, opposed to fermat's 2.8s
1000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000531
1def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
18def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
2def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
20def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
2def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
22def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
2def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
24def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
2def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
26def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
2def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
28def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
2def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
30print next_prime[10^301]
# prints in 2.9s on the old single-core system, opposed to fermat's 2.8s
1000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000531
0Để tạo một nguyên tố, trước tiên chúng ta tạo một số nguyên ngẫu nhiên trong phạm vi [2K-1,2K], thì các quy tắc sau được áp dụng:.
print next_prime[10^301]
# prints in 2.9s on the old single-core system, opposed to fermat's 2.8s
1000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000531
1def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
48def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
2def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
50def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
2def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
52def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
2def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
54def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
2def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
56def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
2def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
58def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
2def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
60print next_prime[10^301]
# prints in 2.9s on the old single-core system, opposed to fermat's 2.8s
1000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000531
0print next_prime[10^301]
# prints in 2.9s on the old single-core system, opposed to fermat's 2.8s
1000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000531
1def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
63def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
2def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
65def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
2def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
67def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
2def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
69def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
2def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
71def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
2def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
73def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
2def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
75def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
2def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
77def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
78def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
79 def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
80Các
def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
79 from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
02def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
81from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
04 from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
05from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
06from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
07from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
08from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
9 from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
10from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
07from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
12 from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
13from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
14 from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
15from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
16from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
17 from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
08from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
19 from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
13__from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
32from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
33from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
07from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
35from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
36def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
82 from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
38def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
79 from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
40def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
81from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
42from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
9 from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
23def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
81from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
46from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
9 from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
48def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
88def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
89def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
81from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
04 from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
46from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
19 def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
1 from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
9from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
9 from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
23from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
06from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
07from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
61from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
9 def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
89from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
07from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
42def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
91from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
9 def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
89Các
def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
81def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
79 from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
86from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
07from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
17 from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
89from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
90from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
9____29 def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
89from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
06from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
16def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
82 from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
97from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
07from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
12 def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
00from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
14 def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
02def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
03from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
16from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
17 from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
89def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
07def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
1__from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
32def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
82 from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
97from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
07def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
82 from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
05def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
81def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
27from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
9 def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
29def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
81from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
12 def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
00from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
14 def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
02def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
35from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
07def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
37from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
9 def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
83def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
1def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
41from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
07from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
17 from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
86from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
16def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
82 from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
97from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
07from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
12 def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
00from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
14 def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
02def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
03from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
16from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
17 from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
89def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
07def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
1__def is_prime[num]
# ...
return not any[num % i == 0 for i in mrange[3, int[sqrt[num]] + 1, 2]]
81from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
04 from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
05from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
06from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
07from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
08from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
9 from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
10from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
07from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
12 from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
13from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
14 from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
15from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
16from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
17 from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
08from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
19 from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
13__from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
16def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
74from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
07from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
35from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
06from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
16def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
79def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
80def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
81def is_prime[num]:
if num == 2:
return True
if not num & 1:
return False
return pow[2, num-1, num] == 1
82from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
16from random import randrange
def is_prime[n, k=10]:
if n == 2:
return True
if not n & 1:
return False
def check[a, s, d, n]:
x = pow[a, d, n]
if x == 1:
return True
for i in xrange[s - 1]:
if x == n - 1:
return True
x = pow[x, 2, n]
return x == n - 1
s = 0
d = n - 1
while d % 2 == 0:
d >>= 1
s += 1
for i in xrange[k]:
a = randrange[2, n - 1]
if not check[a, s, d, n]:
return False
return True
33