-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy patheuler_21.py
More file actions
32 lines (27 loc) · 745 Bytes
/
euler_21.py
File metadata and controls
32 lines (27 loc) · 745 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
def factors(n):
return set(reduce(list.__add__,
([i, n//i] for i in range(1, int(n**0.5) + 1) if n % i == 0)))
def amicable_number(number):
factors_1 = sum(factors(number),-number)
numbers_2 = sum(factors(factors_1),-factors_1)
if number == numbers_2:
amicable_num = (number, factors_1)
return amicable_num
else:
return 0
def euler():
amicables = []
for i in range(2,10001):
amicable = amicable_number(i)
if amicable > 0:
amicables.append(amicable)
return amicables
my_euler = euler()
euler_sum = 0
for i in my_euler:
for x in i:
euler_sum += x[0]
summer = []
for i in my_euler:
if i[0] != i[1]:
summer.append(i[0])