def fi(n): v=primes(int(n**0.5)+1) for i in range(3,n+1,2): if factornum(i,v)==3: x=isresult(i,v) if x: return x
def fi(): v=primes(100) print(v) s=1 i=0 while s<maxlen: s=s*v[i] i=i+1 print(s) s=s//v[i-1] return s
def f(): ps=primes(1000100) i=2 re=0 while ps[i]<=1000000: p=ps[i] t=10**(int(log(p,10))+1) m=ps[i+1] j=g(t,m-p,m)%m ## print(t*j+p) re+=t*j+p i+=1 return re
def f(n): L=list(factorial(n)) S=set() ps=primes(n) def C(m,k): return L[m]//(L[k]*L[m-k]) def notsquarefree(x): return all(x%(i*i)!=0 for i in ps) for i in range(n): for j in range(i//2+1): t=C(i,j) print(i,j,t) if notsquarefree(t): S.add(t) ## print(S) return sum(S)
def p70(): x=primes(10000) t,s=0,3 xa=[] for i in x: for j in x: if j<i: continue if permutation(i*j,(i-1)*(j-1)) and i*j/((i-1)*(j-1))<s: print(i,j) t,s=i*j,i*j/((i-1)*(j-1)) xa.append(i*j) if i*j>10**7: break if i*i>10**7: break return t
def p84(n): result=set() ps=primes(int(n**0.5)+1) for c in ps: x=c**4 if x>=n: break for b in ps: y=x+b**3 if y>=n: break for a in ps: z=y+a**2 if z>=n: break result.add(z) return len(result)
from functools import reduce from Crazy import primes ps=primes(1000) def products(l): return reduce(lambda x,y:x*y,l) def sod(divs): return products([(i**(divs[i]+1)-1)//(i-1) for i in divs]) def g(n): divs={} m=n for i in ps: if i*i>n: break while n%i==0: n=n//i if i in divs: divs[i]+=1 else: divs[i]=1 if n not in divs and n!=1: divs[n]=1 return sod(divs)-m def f1(n): t=1 for i in range(2,n+1): if i%10000==0: print(i) m=g(i) j=1 L=[] while m>i and m not in L and m<=n:
##The primes 3, 7, 109, and 673, are quite remarkable. By taking any two primes ##and concatenating them in any order the result will always be prime. For example ##, taking 7 and 109, both 7109 and 1097 are prime. The sum of these four primes, ##792, represents the lowest sum for a set of four primes with this property. ##Find the lowest sum for a set of five primes for which any two primes ##concatenate to produce another prime. from Crazy import primes from Crazy import isprime filen=8 ps=primes(10**4) def conisprime(n,m): return isprime(int(str(n)+str(m))) and isprime(int(str(m)+str(n))) def fi(): re={} for i in range(1,len(ps)): if len(str(ps[i]))<=4: for j in range(i): if len(str(ps[j]))<=filen-len(str(ps[i])) and conisprime(ps[i],ps[j]): if ps[j] in re: re[ps[j]].append(ps[i]) else: re[ps[j]]=[ps[i]] for i in re: for j in range(len(re[i])): if len(re[i])>=4 and re[i][j] in re: for k in range(j+1,len(re[i])): if re[i][k] in re[re[i][j]] and re[i][k] in re: for l in range(k+1,len(re[i])): if re[i][l] in re[re[i][j]] and re[i][l] in re[re[i][k]] and re[i][l] in re: for m in range(l+1,len(re[i])):
from Crazy import primes from fractions import Fraction X=500 P=primes(500) croaks="PPPPNNPPPNPPNPN" ##croaks="NN" def p329(): Prob=[] L={"N":[],"P":[]} for i in range(1,X+1): if i in P: L["N"].append(Fraction(1,3)) L["P"].append(Fraction(2,3)) else: L["N"].append(Fraction(2,3)) L["P"].append(Fraction(1,3)) ## print(L) Re=L[croaks[-1]] for c in reversed(croaks[:-1]): ## print(croaks[:-1],croaks[-1]) T=L[c] Temp=[] for i in range(0,X): x=T[i] if i==0: x=x*Re[1] elif i==X-1: x=x*Re[i-1] else: x=x*Fraction(1,2)*(Re[i-1]+Re[i+1]) Temp.append(x)
##It is possible to write ten as the sum of primes in exactly five different ##ways: ## ##7 + 3 ##5 + 5 ##5 + 3 + 2 ##3 + 3 + 2 + 2 ##2 + 2 + 2 + 2 + 2 ## ##What is the first value which can be written as the sum of primes in over five ##thousand different ways? MAX = 100 from Crazy import isprime, primes ps = primes(MAX) def p77(num): def cachnum(n, k): return k * (MAX + 1) + n Cached = {} for n in range(MAX): for k in range(MAX): x = cachnum(n, k) if n == 0: Cached[x] = 1 elif n < k: Cached[x] = 0 elif n == k: Cached[x] = 1
def f1(n): ps = primes(3 * 10 ** 5) for i, j in enumerate(ps, 1): if i & 1 == 1: if ((2 * i) % j) * j > n: return i, j