Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- import sys
- T=10 #no of test cases
- t=open(sys.argv[1],'r').readlines()
- def sieve(maxNum):
- yield 2
- D, q = {}, 3
- while q <= maxNum:
- p = D.pop(q, 0)
- if p:
- x = q + p
- while x in D: x += p
- D[x] = p
- else:
- yield q
- D[q*q] = 2*q
- q += 2
- raise StopIteration
- def is_prime(n): # sieve of eratosthenes
- ps, sieve = [], [True] * (n + 1)
- for p in range(2, n + 1):
- if sieve[p]:
- ps.append(p)
- for i in range(p * p, n + 1, p):
- sieve[i] = False
- return ps
- #first line of each test case
- a=[1,4,7,10,13,16,19,22,25,28]
- count=0
- for i in a:
- b=t[i].split(" ")
- c=b[1].split("\n")[0]
- b=b[0]
- for k in xrange(int(b)):
- d=t[i+1].split(" ")
- e=t[i+2].split(" ")
- for g in d:
- for j in e:
- try:
- sum=int(g)+int(j)
- p=is_prime(sum)
- if p==True:
- count+=1
- print count
- else:
- pass
- except:
- try:
- g=g.strip("\n")
- sum=int(g)+int(j)
- p=is_prime(sum)
- if p==True:
- count+=1
- print count
- else:
- pass
- except:
- j=j.strip("\n")
- sum=int(g)+int(j)
- p=is_prime(sum)
- if p==True:
- count+=1
- print count
- else:
- pass
- print "Final count"+count
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement