python亲密数
时间: 2023-07-01 21:20:25 浏览: 111
closeness python
Python中的亲密数是指两个正整数中,其中一个数的所有因子之和恰好等于另一个数,且另一个数的所有因子之和也恰好等于第一个数。以下是Python实现亲密数的代码:
```python
def sum_of_factors(n):
factors = [1]
for i in range(2, int(n**0.5)+1):
if n % i == 0:
factors.extend([i, n//i])
if n > 1:
factors.append(n)
return sum(factors)
def find_amicable_numbers(limit):
amicable_numbers = []
for i in range(1, limit):
sum_i = sum_of_factors(i)
if sum_i > i and sum_of_factors(sum_i) == i:
amicable_numbers.append((i, sum_i))
return amicable_numbers
print(find_amicable_numbers(10000))
```
这个程序会输出所有小于10000的亲密数对,例如:[(220, 284), (1184, 1210), (2620, 2924), (5020, 5564), (6232, 6368)]。
阅读全文