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):
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: