美文网首页pythonPython爬虫作业
python  求1000以内的完全数

python  求1000以内的完全数

作者: 高杆python | 来源:发表于2017-05-25 14:40 被阅读2466次

    题目 :求1000以内的完全数(如果一个数恰好等于它的因子之和,则称该数为“完全数”,又称完美数或完备数。例如:第一个完全数是6,它有约数1、2、3、6,除去它本身6外,其余3个数相加,1+2+3=6。第二个完全数是28,它有约数1、2、4、7、14、28,除去它本身28外,其余5个数相加,1+2+4+7+14=28。)


    解题思路:

    1. for循环分别列出1000以内所有整数。
    2. 用每一个整数分别除以比他小的整数,若整除,则记为该整数因子,并将所有因子相加求和,求和后判断和这个整数是否相等,若相等则该整数是完全数。
    3. 定义一个空列表,用以储存1000以内的完全数。

    解题代码:

        L=[]
        for i in range(1,1001):
          k=0
          for j in range(1,i):
            if (i%j==0):
              k+=j
          if i==k:
            L.append(i)
        print(L)
    

    打印结果:
    [6, 28, 496]

    相关文章

      网友评论

        本文标题:python  求1000以内的完全数

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