File tree 1 file changed +32
-0
lines changed
1 file changed +32
-0
lines changed Original file line number Diff line number Diff line change
1
+ """
2
+ From: https://en.wikipedia.org/wiki/Amicable_numbers
3
+ Amicable numbers are two different numbers related in such a way that the sum of the proper divisors of each is equal to the other number.
4
+
5
+ >>> amicable_numbers(60,84)
6
+ False
7
+ >>> amicable_numbers(220,284)
8
+ True
9
+ >>> amicable_numbers(-10,24)
10
+ False
11
+ """
12
+
13
+
14
+ def amicable_numbers (first_number , second_number ) -> bool :
15
+ if first_number <= 1 or second_number <= 1 :
16
+ return False
17
+ first_number_proper_divisors = [
18
+ i for i in range (1 , first_number ) if first_number % i == 0
19
+ ]
20
+ second_number_proper_divisors = [
21
+ i for i in range (1 , second_number ) if second_number % i == 0
22
+ ]
23
+ return (
24
+ sum (first_number_proper_divisors ) == second_number
25
+ and sum (second_number_proper_divisors ) == first_number
26
+ )
27
+
28
+
29
+ if __name__ == "__main__" :
30
+ import doctest
31
+
32
+ doctest .testmod ()
You can’t perform that action at this time.
0 commit comments