自学Python:求完数

作者: 小强聊成长 | 来源:发表于2021-12-08 13:34 被阅读0次

先说什么是完数?

如果一个数等于它的因子(因子就是所有可以整除这个数的数)之和,则称该数为“完数”(或“完全数”)。例如,6的因子为1、2、3,而6=1+2+3,因此6是“完数”。那如果要求某一范围内完数的个数。要如何实现呢?

下面直接上代码:

########################

if __name__=="__main__":

    n = int(input("请输入所选范围上限: "))

    i = 2         # 变量 i 控制选定数的范围

    while i <= n:

        s = 0       # s记录累加因子之和,保证每次循环时s的初值为0

        j = 1        # j 控制除数范围

        for j in range(i):

            if j != 0 and i % j == 0:      # 判断 j 是不是 i 的因子

                s += j        # 因子和

        if s == i:       # 判断因子之和是否和原数相等

            print("2到%d之间的完数:%d" %(n, i))

        i += 1

########################

执行结果如下:

请输入所选范围上限: 800

2到800之间的完数:6

2到800之间的完数:28

2到800之间的完数:496

________________END______________

相关文章

  • 自学Python:求完数

    先说什么是完数? 如果一个数等于它的因子(因子就是所有可以整除这个数的数)之和,则称该数为“完数”(或“完全数”)...

  • 自学Python:求阿姆斯特朗数

    阿姆斯特朗数是指一个整数等于其各个数字的立方和(亦称为自恋性数)。如153=1^3+5^3+3^3就是一个“阿姆斯...

  • 2021-05-09

    python中的数学 1.认识龙腾数 什么是龙腾数image.png 1.1求1000之内的龙腾数 1.2 求水仙...

  • 自学Python:求不重复的3位数

    用1、2、3、4共4个数字能组成多少个互不相同且无重复数字的三位数?都是多少?求解方法比较简单:互不相同的三位数,...

  • 自学Python:求勾股数

    什么是勾股数? 勾股数就是指能够构成直角三角形三条边的三个正整数(a,b,c),根据“勾股数”定义,所求三角形三边...

  • 自学Python:寻找亲密数

    所谓亲密数就是如果整数A的全部因子(包括1,不包括A本身)之和等于B,且整数B的全部因子(包括1,不包括B本身)之...

  • 自学Python:计算回文数

    要说什么是回文数?就得先说说什么是回文。 “回文”是指正读反读都能读通的句子,它是古今中外都有的一种修辞方式和文字...

  • 自学Python:寻找自守数

    什么是自守数? 自守数是指一个数的平方的尾数等于该数自身的自然数。例如,5的平方=25,尾数等于5,25的平方=6...

  • 自学Python:求5位数内的整数逆序

    给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。 用程序实现,要能判断是几位数,然后逆序...

  • 【Python】Python方法求水仙花数原码实例

    用Python编程方法求水仙花数,一行python代码就能解决问题。 先要知道什么是水仙花数,之后再去写代码,这样...

网友评论

    本文标题:自学Python:求完数

    本文链接:https://www.haomeiwen.com/subject/akgpxrtx.html