当前位置 : 主页 > 编程语言 > python >

python实现找出1000以内的所有完美数

来源:互联网 收集:自由互联 发布时间:2022-07-19
目录 ​​1、题目描述​​ ​​2、代码实现​​ ​​3、运行结果​​ 1、题目描述 完美数是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和,恰好等于它本身。第


目录

​​1、题目描述​​

​​2、代码实现​​

​​3、运行结果​​


1、题目描述

完美数是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和,恰好等于它本身。第一个完美数是6。
输入:(无)
输出: [6, 28, 496]

2、代码实现

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import math

def fun():
list = []
k = 1000
for num in range(1, k + 1):
result = 0
for factor in range(1, int(math.sqrt(num)) + 1):
if num % factor == 0:
result += factor
if factor > 1 and num // factor != factor:
result += num // factor
if result == num and num > 1:
list.append(num)
return list

if __name__ == '__main__':
print(fun())

3、运行结果

[6, 28, 496]

 

网友评论