一个数如果恰好等于它的因子之和,这个数就称为完数。例如6=1+2+3.编程找出1000以内的所有完数。
请参照程序Python 练习实例14。
#!/usr/bin/python
# -*- coding:
UTF-8 -*-from sys import stdoutfor j in range(2,1001):
k = []n = -1s = jfor i in range(1,j):
if j % i == 0:
n += 1s -= ik.append(i)if s == 0:
print jfor i in range(n):
stdout.write(str(k[i]))stdout.write(' ')print k[n]
程序源代码:
实例(Python 2.0+)
#!/usr/bin/python
# -*- coding:
UTF-8 -*-from sys import stdoutfor j in range(2,1001):
k = []n = -1s = jfor i in range(1,j):
if j % i == 0:
n += 1s -= ik.append(i)if s == 0:
print jfor i in range(n):
stdout.write(str(k[i]))stdout.write(' ')print k[n]
以上实例输出结果为:
61 2 3281 2 4 7 144961 2 4 8 16 31 62 124 248
一个数如果恰好等于它的因子之和,这个数就称为完数。例如6=1+2+3.编程找出1000以内的所有完数。