前言
这篇是本系列的第二篇,我开始感觉到这些练习的价值了。这些问题,咋一看,超级简单,不过真正动手,很考验对编程语言的理解和掌握程度,所以不要小看这些练习哦。这些问题还有另一个特点,直接编写程序找答案,运行会很慢,特别需要多动脑筋想更高效的求解方法。
问题
求 10,0000 (10万) 以内的亲密数。
名词解释
亲密数,假设有两个不相等的整数a 和 b, a 的因子和等于b的因子和。这里的因子和,可以利用上一篇博客研究完数的程序。
编程思路
- 先求第一个数a的因子和 factor_sum_a
- 假设第二数 b = factor_sum_a (记得确定 a 不等于 b)
- 对b求因子和 factor_sum_b
- 比较是否 factor_sum_b 等于 a (这里真的很绕,注意看清楚)
实现代码
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Date : 2019-04-04 10:45:49
# @Author : Promise (promise@mail.ustc.edu.cn)
# @Link : ${link}
# @Version : $Id$
# 先单独写一个求因子和返回因子和的函数
def GetSumFactor(num):
factorSum = 0
for j in range

最低0.47元/天 解锁文章
840

被折叠的 条评论
为什么被折叠?



