python找出完数

来源:互联网 发布:centos 安装openjdk 编辑:程序博客网 时间:2024/06/05 19:32
# -*- coding: utf-8 -*-# 要求:用python方法找出1000以内的所有完数,并输出。def f(n):    list = []    for i in range(2, n + 1):        for j in range(2, i / 2):            if i % j == 0 and j <= (i / j):                list.append(j)                list.append(i / j)        if sum(list) + 1 == i:            print i        list = []if __name__=="__main__":    n=int(raw_input("请输入最大范围:"))    f(n)

运行结果:

请输入最大范围:1000
6
28
496

总结:

sum可以直接对列表进行求和

0 0
原创粉丝点击