24小时热门版块排行榜    

查看: 1598  |  回复: 1

额纪

木虫 (初入文坛)

[求助] 求完全数的时候出现了24

python的一个求完全数的程序
CODE:
def perfect(N):
        perfectNumber=[]
        for i in range(5,N):
                sum1=0
                for j in range(1,i/2+1):
                        if i%j==0:
                                sum1+=j
                                if sum1==i:
                                        perfectNumber.append(i)
        return perfectNumber

但是运行出来的结果是:
CODE:
>>> perfect(1000)
[6, 24, 28, 496]

谁能解释下为什么会出现24啊?
完全数:完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。第一个完全数是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。第三个完全数是496,有约数1、2、4、8、16、31、62、124、248、496,除去其本身496外,其余9个数相加,1+2+4+8+16+31+62+124+248=496。后面的完全数还有8128、33550336等等。(摘自百度百科)
回复此楼
活在当下,做好自己
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
额纪: 金币+10, ★★★★★最佳答案, 谢谢 2013-03-08 21:56:16
xzhdty: 金币+1, 专家考核, 谢谢骠骑将军 2013-03-09 22:47:31
相关版块跳转 我要订阅楼主 额纪 的主题更新
信息提示
请填处理意见