Example #1
0
from CommonUtils import isPrime
from itertools import permutations
from fractions import Fraction
import string, sys

primes_of_interest=[i for i in range(1000,10000) if isPrime(i)]

for p in primes_of_interest:
    l_primes=[p]
    
    for perm in permutations(str(p),len(str(p))):
        int_perm = int("".join(perm))
        if int_perm in primes_of_interest and int_perm > p:
            l_primes.append(int_perm)

    sorted_primes=sorted(l_primes)
    diffs=[i-p for i in sorted_primes]

    for i in range(1,len(diffs)):
        for j in range(1,len(diffs)):
            if Fraction(diffs[j],diffs[i])==Fraction(2):
                candidate=str(p)+str(sorted_primes[i])+str(sorted_primes[j])
                # Check that the solution is not the given example
                if candidate!="148748178147":
                    print candidate
                    sys.exit()
Example #2
0
from CommonUtils import isPrime

count=0

for n in range(1000000):
    if isPrime(n):
        s_prime=str(n)
        all_prime=True

        for i in range(len(s_prime)):
            if not isPrime(int(s_prime[-i::]+s_prime[:-i:])):
                all_prime=False

        if all_prime:
            count+=1

print count
    
Example #3
0
import string
from CommonUtils import isPrime

primes = [int(i) for i in string.split(open('files/primes1.txt','r').read())]

num_found=0
summation=0
i=4

while num_found<11:
    truncatable=True

    s_prime=str(primes[i])
    for n in range(1,len(s_prime)):
        if not isPrime(int(s_prime[n::])) or not isPrime(int(s_prime[:-n:])):
            truncatable=False

    if truncatable:
        summation+=primes[i]
        num_found+=1

    i+=1
                                                       
print summation
Example #4
0
# Find the 10001st prime number
from CommonUtils import isPrime

n,num_primes=0,0

while(num_primes < 10001):
    n+=1
    if isPrime(n):
        num_primes+=1

print n