# 求1000以内的完全数有哪些
# 如果一个数恰好等于它的因子之和,则称该数为“完全数”,又称完美数或完备数。
# 例如:
# 第一个完全数是6,它有约数1、2、3、6,除去它本身6外,其余3个数相加,
# 1+2+3=6。第二个完全数是28,它有约数1、2、4、7、14、28,除去它本身28外,
# 其余5个数相加,1+2+4+7+14=28。
def approximateNumber(num:int):
# 函数名已经已经限制了参数类型, 这里就不用做参数类型判断了
result = []#所有满足条件的结果存到 result 数组中
for divisor in range(1,num):#遍历 1-1000
#temp 中存放约数
temp = []
for dividend in range(1,divisor):#遍历 1-divisor 求所有约数
if divisor%dividend==0:#判断是不是约数
temp.append(dividend)#加入约数数组
tempSum = sum(temp)#求约数和
if tempSum == divisor:#判断这个数的约数和 是否等于 这个数
result.append(tempSum)#得到我们需要的结果,存到数组 result中
return result #返回结果
print(approximateNumber(1000))
# 打印结果: [6, 28, 496]
Python - 1000以内的完全数
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 题目 :求1000以内的完全数(如果一个数恰好等于它的因子之和,则称该数为“完全数”,又称完美数或完备数。例如:第...
- 先附上彭老师和罗攀同学的神器成果:微信朋友头像拼图 下面是正题(本文代码环境:python3.6.1): 循环语句...
- 根据完全数(Perfect Number)的定义 一个数的所有真因子(即除了自身以外的约数)的和(即因子函数),恰...