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]
今天分享就到这,如果你对Python感兴趣,欢迎加入我们【python学习交流裙】,免费领取学习资料和源码。