Python 练习实例19

[复制链接]
367|0
 楼主| cooldog123pp 发表于 2021-1-25 10:45 | 显示全部楼层 |阅读模式
题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出1000以内的所有完数。
程序分析:请参照程序Python 练习实例14
程序源代码:
  1. #!/usr/bin/python
  2. # -*- coding: UTF-8 -*-

  3. from sys import stdout
  4. for j in range(2,1001):
  5.     k = []
  6.     n = -1
  7.     s = j
  8.     for i in range(1,j):
  9.             if j % i == 0:
  10.                 n += 1
  11.                 s -= i
  12.                 k.append(i)
  13.    
  14.     if s == 0:
  15.         print (j)
  16.         for i in range(n):
  17.             stdout.write(str(k[i]))
  18.             stdout.write(' ')
  19.         print (k[n])
以上实例输出结果为:
  1. 6
  2. 1 2 3
  3. 28
  4. 1 2 4 7 14
  5. 496
  6. 1 2 4 8 16 31 62 124 248


您需要登录后才可以回帖 登录 | 注册

本版积分规则

2304

主题

7626

帖子

31

粉丝
快速回复 在线客服 返回列表 返回顶部