Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Program to search p, q primes so that
- # q = (p**3-p-13)/(109*(3*p+64))
- # Python3 programs to do Miller-Rabin primality test
- P=15000
- import random
- def power(x, y, p):
- res = 1
- x = x % p
- while (y > 0):
- if (y & 1):
- res = (res * x) % p
- y = y>>1; # y = y/2
- x = (x * x) % p
- return res
- def miillerTest(d, n):
- a = 2 + random.randint(1, n - 4)
- x = power(a, d, n)
- if (x == 1 or x == n - 1):
- return True;
- while (d != n - 1):
- x = (x * x) % n
- d *= 2
- if (x == 1):
- return False
- if (x == n - 1):
- return True
- return False.
- def prime( n, k):
- if (n <= 1 or n == 4):
- return False
- if (n <= 3):
- return True
- d = n - 1;
- while (d % 2 == 0):
- d //= 2
- for i in range(k):
- if (miillerTest(d, n) == False):
- return False
- return True
- # Driver Code
- # Number of iterations
- k = 4
- for p in range(2,P):
- if((p**3-p-13)%(109*(3*p+64))==0):
- if(prime(p,k) and prime((p**3-p-13)//(109*(3*p+64)),k)):
- print(p,(p**3-p-13)//(109*(3*p+64)))
Advertisement
Add Comment
Please, Sign In to add comment