示例#1
0
def main():
    for n in range(647, 1000000):
        if len(factorize(n, keep_exp=False)) >= 4\
           and len(factorize(n+1, keep_exp=False)) >= 4\
           and len(factorize(n+2, keep_exp=False)) >= 4\
           and len(factorize(n+3, keep_exp=False)) >= 4:
            return n
示例#2
0
def rad_factorize(n):
    result = known_f.get(n)
    if result is None:
        f = factorize(n)
        result = (set(f), f)
        known_f[n] = result
        return result
    else:
        return result
示例#3
0
def mainn():
    primes = []
    for p in sieve(1000):
        primes.append((p, 0))
    primes = dict(primes)

    for n in range(2, 1000):
        if str(n)[-1] == '0':
            continue
        for f in factorize(n):
            primes[f[0]] += f[1] * n

    s = 1
    for p in primes:
        s += p**primes[p]

    return str(s)[-10:]
示例#4
0
def find_divisors(n):
    factors = factorize(n)
    divisors = [(f[0], 1) for f in factors]

    for i in range(2, len(factors) + 1):
        divisors += [div for div in combinations([f[0] for f in factors], i)]

    for f in factors:
        if f[1] > 1:
            for div in divisors:
                if f[0] in div:
                    exp = f[1]
                    while exp > 1:
                        new_div = list(div)
                        new_div[new_div.index(f[0])] = f[0]**exp
                        divisors.append(new_div)
                        exp -= 1

    divisors = [reduce(lambda x, y: x * y, div) for div in divisors]

    divisors.append(1)
    return sorted(divisors)
示例#5
0
from sieve_of_erastosthenes import sieve
from Factorize import factorize
from Divisors import find_divisors


def tt(n):
    return int(((n + 1) * n) / 2)


max = 0
for i in range(10000, 20000):
    n = tt(i)
    factors = factorize(n)
    divisors = find_divisors(factors)
    l = len(divisors)
    if l > max:
        max = l
        print(n, l)
    if l > 500:
        print('yyyyyyyyyyeaaaahhh')
        break
示例#6
0
def d(x):
    return sum(find_divisors(factorize(x))[:-1])
示例#7
0
from Factorize import factorize

for nn in range(399993, 310013, -10010):
    for pp in range(nn, nn - 10000, -1100):
        #    n = int(input('e '))
        o = 1
        n = pp
        a = factorize(n)
        if not isinstance(a, list):
            continue
        print(n)
        print(a)
        for i in a:
            o *= i
        print(n / o, o)
        print('-----------------------------------------')

for pp in range(309903, 300003, -1100):
    #    n = int(input('e '))
    o = 1
    n = pp
    a = factorize(n)
    if not isinstance(a, list):
        continue
    print(n)
    print(a)
    for i in a:
        o *= i
    print(n / o, o)
    print('-----------------------------------------')