Example #1
0
def pr060():
    isValid = lambda a, b: isPrimeMR(int(str(a)+str(b))) and isPrimeMR(int(str(b)+str(a)))
    p = getPrimes(10000)
    pN = len(p)
    for a in range(pN):
        for b in range(a + 1, pN):
            if isValid(p[a], p[b]):
                for c in range(b + 1, pN):
                    if isValid(p[c], p[a]) and isValid(p[c], p[b]):
                        for d in range(c + 1, pN):
                            if isValid(p[d], p[a]) and isValid(p[d], p[b])\
                                and isValid(p[d], p[c]): 
                                for e in range(d + 1, pN):
                                    if isValid(p[e], p[d]) and isValid(p[e], p[c]) and\
                                        isValid(p[e], p[b]) and isValid(p[e], p[a]):
                                        print(p[a], p[b], p[c], p[d], p[e])
                                        return p[a] + p[b] + p[c] + p[d] + p[e]
Example #2
0
 def phi(n):
     if isPrimeMR(n):
         return n - 1
     ret = n
     for x in primes:
         if x << 1 > n:
             break
         if n % x == 0:
             ret = ret // x * (x - 1)
     return ret
Example #3
0
 def rad(n):
     if isPrimeMR(n):
         return n
     ret = 1
     for x in primes:
         if x * 2 > n:
             break
         if n % x == 0:
             ret *= x
     return ret
Example #4
0
 def getPseudo(n):
     t = n + 3
     while not isPrimeMR(t):
         t += 2
     return t - n