Your IP : 216.73.216.40


Current Path : /var/www/html/venkat/check1-iws44/
Upload File :
Current File : /var/www/html/venkat/check1-iws44/gcd.py

import random
def isPrime(n):
    rang = int(n**0.5)+1;
    for i in range(2,rang):
        if n%i==0:
            return False

    return True
def rprime():
	p = 3
	q = 20
	primes = [i for i in range(p,q) if isPrime(i)]
	n = random.choice(primes)
	return n
def gcd(a,b):
	while a:
		a, b = b%a, a
	return a 

def modinv(a,m):
	gcd , x, y = egcd(a,m)
	if gcd != 1:
		return 0  # modular inverse does not exist
	else:
		return x % m

def egcd(a,b):
	x,y, u,v = 0,1, 1,0
	while a != 0:
		q, r = b//a, b%a
		m, n = x-u*q, y-v*q
		b,a, x,y, u,v = a,r, u,v, m,n
	gcd = b
	return gcd, x, y
aa = 10;
while aa < 10000:
	p1 = rprime()
	q1 = rprime()
	pp = (p1-1)*(q1-1);
	#kk = input("inverse: ")
	#pp = input("modn: ")
	kk = 3;
	aa = aa + 1;
	print p1, q1,  pp,  modinv(kk,pp)