Esempio n. 1
0
from projeuler.math.integer import get_factors

amicable = set()
for i in xrange(10000):
  s = sum(get_factors(i)) - i
  s2 = sum(get_factors(s)) - s
  if s2 == i and s != i:
    amicable.add(i)
    amicable.add(s)

print amicable
print sum(amicable)
Esempio n. 2
0
from projeuler.math.integer import get_factors


def gen_triangular_numbers():
    n = 1
    while True:
        yield n * (n + 1) / 2
        n += 1


triangular_numbers = gen_triangular_numbers()
n = next(triangular_numbers)

while len(get_factors(n)) < 500:
    n = next(triangular_numbers)

print n