Example #1
0
def lcm_n(n):
    if n == 2:
        return 2
    prev_lcm = lcm_n(n-1)
    prev_factors = fns.generate_prime_factors(prev_lcm)
    new_factors = fns.generate_prime_factors(n)
    fact_prod = fact_diff(prev_factors, new_factors)
    return fact_prod * prev_lcm
Example #2
0
    series = [0, 1]
    while max(series) < limit:
        series.append(sum(series[-2:]))
    return series[:-1]

fib_series = fib_limit(limit)
output = sum([i for i in fib_series if (i % 2 == 0)])

print "Euler 2:", output,
print "T:", time() - start; start = time()

# 3. prime factorization
import math
num = 600851475143

prime_factors = fns.generate_prime_factors(num)

print "Euler 3:", max(prime_factors),
print "T:", time() - start; start = time()


# 4. Largest palindrome
num_range = range(900, 1000)

def is_palindrome(num):
    return str(num) == str(num)[::-1]

all_palindromes = []
for i in num_range:
    for j in num_range:
        product = i * j
Example #3
0
print "Euler 49:", spc_list,
print "T:", time.time() - start; start = time.time()


nmax = 1000; tot = 0
for i in xrange(1, nmax + 1):
    tot += i ** i

print "Euler 48:", str(tot)[-10:],
print "T:", time.time() - start; start = time.time()

nmax = 1000000; jmax = 4; i = 10

while i < nmax:

    prime_facts = [len(set(fns.generate_prime_factors(x))) == jmax for x in xrange(i - jmax, i)]
    if all(prime_facts):
        break
    i += 1

print "Euler 47:", i - jmax,
print "T:", time.time() - start; start = time.time()

def find_odd_comps(nmax):
    all_comps = []
    for i in xrange(3, nmax, 2):
        if(not fns.is_prime(i)):
            all_comps.append(i)
    return all_comps

nmax = 10000