python实现完全数
求出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
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
a = []
for i in range(1, 1000):
s = 0
for j in range(1, i):
if i % j == 0 and j < i:
s += j
if s == i:
print(i)
a.append(i)
print("1000以内的完全数为: %s" % a)
运行结果如下:
Python求找出1000以内所有的“完数”
完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。如果一个数恰好等于它的真因子之和,则称该数为“完全数”。如6=1+2+3即为完数。
要求:提交清晰代码及运行通过截屏。调试须至少输入两次自然数且运行得到正确结果。
for i in range(1, 1001):
a = 0
for j in range(1, i):
if i % j == 0:
a += j
if a == i:
print(i)
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。