编程语言
首页 > 编程语言> > 【python3】计算1000以内的完全数

【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