Python教程

【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))

运行如下:
在这里插入图片描述

这篇关于【python3】计算1000以内的完全数的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!