华中农业大学亲密数Python
时间: 2025-01-01 16:30:03 浏览: 13
### 华中农业大学与亲密数的Python实现
关于华中农业大学的研究工作主要集中在农业科学领域,特别是兽医学方面[^2]。然而,在计算机编程教育和实践中,学校也鼓励学生探索各种算法问题,其中包括数学中的有趣概念——亲密数。
亲密数是指两个正整数a和b满足条件:a的所有真因子之和等于b;而b的所有真因子之和又恰好等于a,并且a不等于b。下面是一个基于给定代码片段改进后的Python程序来寻找小于指定范围内的所有亲密数对:
```python
def sum_of_divisors(num):
"""计算num的所有真因⼦之和"""
div_sum = 0
for i in range(1, num):
if num % i == 0:
div_sum += i
return div_sum
n = int(input("请输入上限值: "))
for i in range(2, n):
s1 = sum_of_divisors(i)
if s1 > i and s1 <= n:
s2 = sum_of_divisors(s1)
if s2 == i:
print(f"找到一对亲密数: {i} 和 {s1}")
```
此段代码定义了一个辅助函数`sum_of_divisors()`用于求解某个数字的所有真因子之和。主循环遍历从2到用户输入的最大界限之间的每一个自然数,对于每个数值都调用该辅助函数两次以验证是否存在对应的亲密数伙伴并打印出来。
阅读全文