import primecache

limit = 1000000
prime_list = primecache.primelist(limit)

prime_sum = [0] * (len(prime_list) + 1)
prime_sum[0] = 0
for i in range(len(prime_list)):
    prime_sum[i + 1] = prime_sum[i] + prime_list[i]

# print(prime_list)
# print(prime_sum)

longest_chain = 0
ans = 0

for i in range(len(prime_sum) - 1, 0, -1):
    for j in range(0, i - longest_chain):
        chain = 0
        if prime_sum[i] - prime_sum[j] < limit and prime_sum[i] - prime_sum[
                j] in prime_list:
            chain = i - j
            # print(prime_sum[i],prime_sum[j],prime_sum[i]-prime_sum[j],chain)
            if chain > longest_chain:
                longest_chain = chain
                ans = prime_sum[i] - prime_sum[j]
            break
print(ans, longest_chain)
import primecache

prime_list = primecache.primelist(150000)


def primefactors(num):
    pf = []
    i = 0
    while num > 1:
        if num % prime_list[i] == 0:
            while num % prime_list[i] == 0:
                num /= prime_list[i]
                if prime_list[i] in pf or len(
                        pf) > 0 and pf[len(pf) - 1] % prime_list[i] == 0:
                    pf[len(pf) - 1] *= prime_list[i]
                else:
                    pf.append(prime_list[i])
            i += 1
        else:
            i += 1
    return pf


notfound = True
start = 10
lim = 4
while notfound:
    chain = 0
    cons_prime = []
    cons_prime_len = []
    for i in range(start, start + lim):
#composite = prime + 2*square

import primecache
import math

def isSquare(num):
    return math.sqrt(num) == int(math.sqrt(num))

plist = primecache.primelist(10000)
clist = []
for p in range(2,10000):
    if p not in plist:
        clist.append(p)

print(plist)
print(clist)
passnum = []
for c in clist:
    check = 0
    found = False
    for p in plist:
        #check = 0
        if c>p and isSquare(int((c-p)/2)):
            check *= 0
            found = True
            break
        else:
            check += 1
    if found == True:
        passnum.append(c)
        print(c,p)
import math, primecache


def isSquare(num):
    return math.sqrt(num) == int(math.sqrt(num))


print(primecache.primelist(10**6))
#totient(n) = n(1-1/p1)(1-1/p2)...
import primecache

prime_list = primecache.primelist(600000)

# def primefactors(num):
#     pf = []
#     while num > 1:
#         for p in primes:
#             while num%p==0:
#                 num = num/p
#                 if p not in pf:
#                     pf.append(p)
#         break
#     return pf

def primefactors(num):
    pf = []
    i = 0
    while num>1:
        if num%prime_list[i]==0:
            while num%prime_list[i]==0:
                num/=prime_list[i]
                if prime_list[i] not in pf:
                    pf.append(prime_list[i])
            i += 1
        else:
            i += 1
    return pf

def totient(num):
예제 #6
0
import primecache

p = primecache.primelist(10**5)


def countPrime(nlist):
    count = 0
    for i in nlist:
        if i in p:
            count += 1
    return count


rounds = 1
numlist = []
numlist.append(1)

while True:
    for i in range(1, 5):
        numlist.append(numlist[-1] + 2 * rounds)
    rounds += 1
    #print((rounds-1),(rounds-1)*2+1,numlist,countPrime(numlist),len(numlist),countPrime(numlist)/len(numlist))
    if countPrime(numlist) / len(numlist) < 0.1:
        break
print((rounds - 1) * 2 + 1)
    for i in range(len(str(num))):
        ret.append(int(str(num)[i:]))
        #ret.append(int(str(num)[:(-1*(i+1))]))
    return ret


def truncate_number_r(num):
    ret = []
    for i in range(len(str(num))):
        ret.append(int(str(num)[:len(str(num)) - i]))
        #ret.append(int(str(num)[:(-1*(i+1))]))
    return ret


sum = 0
primes = primecache.primelist(800000)
for i in primes[4:]:
    l = truncate_number(i)
    r = truncate_number_r(i)
    there_l = 1
    for nums in l:
        if nums in primes:
            there_l *= 1
        else:
            there_l *= 0

    there_r = 1
    for nums in r:
        if nums in primes:
            there_r *= 1
        else: