Advertisement
Guest User

Untitled

a guest
Jul 7th, 2015
205
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.83 KB | None | 0 0
  1. import sys
  2. import math
  3.  
  4. def expFinder(a,x,p):
  5.     if x == 1:
  6.         return a
  7.     else:
  8.         if x % 2 == 0:
  9.             return expFinder(a*a%p,x/2,p) % p
  10.         else:
  11.             return a*expFinder(a*a % p, (x-1)/2,p) % p
  12.  
  13. def isPrime(a):
  14.     if a == 1:
  15.         return 0
  16.     x = int(math.ceil(math.sqrt(a)))
  17.     for i in range(2,x+1):
  18.         if a % i == 0:
  19.             return 0
  20.     return 1
  21.  
  22. L = []
  23. N = sys.stdin.readline()
  24. N = N.split()
  25. p = int(N[0])
  26. a = int(N[1])
  27. while(p != 0 and a != 0):
  28.     if isPrime(p) == 1:
  29.         L.append(0)
  30.     else:
  31.         if expFinder(a,p,p) == a:
  32.             L.append(1)
  33.         else:
  34.             L.append(0)
  35.     N = sys.stdin.readline()
  36.     N = N.split()
  37.     p = int(N[0])
  38.     a = int(N[1])
  39.  
  40. for i in L:
  41.     if i == 0:
  42.         print "no"
  43.     else:
  44.         print "yes"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement