File tree Expand file tree Collapse file tree 1 file changed +32
-0
lines changed
Expand file tree Collapse file tree 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