【python3】计算1000以内的完全数
作者:互联网
【python3】计算1000以内的完全数
背景
有一个初学python的群友,发问如何用python求1000以内的完全数;
关于完全数:
如果一个数恰好等于它的因子之和,则称该数为“完全数”。
这里的因子即因数(约数)区别与质因子;
比如6的因子:1,2,3;
比如12的因子:1,2,3,4,6;
第一个完全数是6,第二个完全数是28,第三个完全数是496;
6=1+2+3;
28=1+2+4+7+14
… …
本博客:通过简单的问题,增加访问量;
仅此而已;
代码
# -*- coding: UTF-8 -*-
# 如果一个数恰好等于它的真因子之和,则称该数为“完全数”。
# 这里的真因子即因数(约数)区别与质因子;
# 第一个完全数是6,第二个完全数是28,第三个完全数是496
# 6=1+2+3;
# 28=1+2+4+7+14
def wanquanshu(num):
re = False
start_num=num
temp_list = []
for i in range(1,num//2+1):
if 0==num%i:
temp_list.append(i)
if sum(temp_list)==start_num:
re = True
return re
if __name__=="__main__":
for i in range(2,1001):
if wanquanshu(i):
print("完全数:{0}".format(i))
运行如下:
标签:__,以内,28,完全,因子,num,数是,python3,1000 来源: https://blog.csdn.net/jn10010537/article/details/118500665