python-1000以内的完数
程序员文章站
2024-02-26 19:15:16
...
首先分别取出1000以内的数;
然后分别找到他们的约数(约数首先小于等于它本身,而这里不需要它本身,其次能被整除);
最后判断
def perfect(num):
results = []
for p in range(1, num):
tmp = []
for q in range(1, p):
if p % q == 0:
tmp.append(q)
if sum(tmp) == p:
results.append(p)
return results
print(perfect(1000))
注意:如果存放约数的列表tmp = []定义在result=[]下面,那么结果会输出空列表,菜鸟原因不明,哪位大佬知晓,还望告知,感激不尽。
def perfect(num):
results = []
tmp = []
for p in range(1, num):
for q in range(1, p):
if p % q == 0:
tmp.append(q)
if sum(tmp) == p:
results.append(p)
return results
print(perfect(1000))
上一篇: javascript学习&全选练习
下一篇: Spring DevTools的介绍