Beispiel #1
0
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
Beispiel #2
0
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
Beispiel #3
0
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
Beispiel #4
0
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)
Beispiel #5
0
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
Beispiel #6
0
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)
Beispiel #7
0
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:
Beispiel #8
0
##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])):
Beispiel #9
0
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)
Beispiel #10
0
##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
Beispiel #11
0
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