Esempio n. 1
0
File: 5.py Progetto: chirs/compsci
def get_lcm(l):
    factor_lists = [get_prime_factors(e) for e in l]
    factors = get_factor_set(factor_lists)
    d = defaultdict(int)
    for factor in factors:
        for fl in factor_lists:
            if fl.count(factor) > d[factor]:
                d[factor] = fl.count(factor)
    return product([k**v for k,v in d.items()])
Esempio n. 2
0
def main():
    target = 4
    candidate = 0
    consecutive_successes = 0
    while consecutive_successes < target:
        candidate += 1
        if len(set(get_prime_factors(candidate))) == target:
            consecutive_successes += 1
        else:
            consecutive_successes = 0
    print(candidate - 3)
def get_num_factors(n):
    # very slow but works ¯\_(ツ)_/¯
    factors = get_prime_factors(n)
    num_facs = len(factors)
    for prim in factors:
        fac = prim * 2
        while fac <= n**(1 / 2):
            if n % fac == 0 and fac not in factors:
                num_facs += 1
                factors.append(fac)
            fac += prim
    return num_facs, factors
Esempio n. 4
0
def run():
    """
    Solution: Brute force
    """
    first, consec = 0, 0
    n = 647

    while consec < 4:
        factors = get_prime_factors(n)
        if len(factors) == 4:
            if consec == 0:
                first = n
            consec += 1
        else:
            consec = 0
            first = 0
        n += 1

    return first
Esempio n. 5
0
File: 003.py Progetto: AlexClowes/pe
def main():
    print(get_prime_factors(600851475143)[-1])
Esempio n. 6
0
File: 243.py Progetto: AlexClowes/pe
def euler_totient(n):
    ret = n
    for p in set(get_prime_factors(n)):
        ret //= p
        ret *= p - 1
    return ret
Esempio n. 7
0
File: 12.py Progetto: chirs/compsci
def divisors(n):
    prime_factors = get_prime_factors(n)
    s = set(prime_factors)
    l = [prime_factors.count(e) for e in s]
    lx = [e + 1 for e in l]
    return product(lx)
Esempio n. 8
0
File: 012.py Progetto: AlexClowes/pe
def count_factors(n):
    prime_factors = Counter(get_prime_factors(n))
    total_factors = 1
    for prime, multiplicity in prime_factors.items():
        total_factors *= multiplicity + 1
    return total_factors
Esempio n. 9
0
File: 21.py Progetto: chirs/compsci
def get_prime_factor_tuples(n):
    d = defaultdict(int)
    for e in get_prime_factors(n):
        d[e] += 1
    return sorted(d.items(), key=lambda e: e[0])
Esempio n. 10
0
File: 3.py Progetto: chirs/compsci
from utils import get_prime_factors

if __name__ == "__main__":
    print max(get_prime_factors(600851475143))
Esempio n. 11
0
def solve():
    number = 600851475143
    primes = get_prime_factors(number)
    answer = max(primes)
    print(answer)
Esempio n. 12
0
import numpy as np
from utils import prime_numbers, get_prime_factors

n = 600851475143
prime_list = prime_numbers(int(np.sqrt(n) + 1))

print(np.max(get_prime_factors(n, prime_list)))
Esempio n. 13
0
def test_get_prime_factors():
    assert utils.get_prime_factors(60) == [2, 2, 3, 5]
    assert utils.get_prime_factors(73) == [73]
    assert utils.get_prime_factors(1) == []