Пример #1
0
def radical(n):
    D=factoriza(n)
    return reduce(mul, D.keys(), 1)
Пример #2
0
def IsSquareFree(n):
    F = factoriza(n)
    for p in F:
        if F[p]>1:
            return False
    return True
Пример #3
0
from aritmetica import ListaPrimos
from aritmetica import ConjuntoPrimos
from aritmetica import factoriza
from itertools import count

da=factoriza(600)
db = factoriza(601)
dc = factoriza(602)
de = factoriza(603)
e=603
for n in count(604):
    da=db
    db=dc
    dc=de
    de=factoriza(n)
    #print (n, len(da), len(db), len(dc), len(de))
    if len(da)==4 and len(db)==4 and len(dc)==4 and len(de)==4:
        print "\n",(n-3,n-3,n-1,n)
        break
        
Пример #4
0
from aritmetica import factoriza
from operator import mul
from fractions import gcd

def radical(n):
    D=factoriza(n)
    return reduce(mul, D.keys(), 1)

T1 = time.time()

S=0    
k = 0
hits = []
for c in xrange(3,5000):
    for b in xrange((c+1)//2,c):   # b tiene que ser mayor o igual a la mitad de c para que a<b
        #if gcd(b,c)!=1 : continue
        a = c-b                    # a + b = c
        Pa = set(factoriza(a).keys())
        Pb = set(factoriza(b).keys())
        Pc = set(factoriza(c).keys())
        pgcd= Pa & Pb 
        if len(pgcd)==0:
            rad = reduce(mul, Pa | Pb | Pc ,1)
            if rad < c:
                k=k+1
                S=S+c
                #hits.append(c)

print k,S
T3 = time.time()
print T3-T0, T3-T1