24小时热门版块排行榜    

查看: 1624  |  回复: 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
是缩进问题,你必须把内层循环跑完了才能判断是否sum1和i相等,不能再内层循环里面判断
CODE:
def perfect(N):
    nums = []
    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:
            nums.append(i)
    return nums

print perfect(1000)

matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
2楼2013-03-08 00:22:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 额纪 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 一志愿中南大学化学学硕0703总分337求调剂 +5 niko- 2026-03-22 5/250 2026-03-23 22:01 by fuyu_
[考研] 材料专业求调剂 +10 hanamiko 2026-03-18 10/500 2026-03-23 22:00 by luoyongfeng
[考研] 335分 | 材料与化工专硕 | GPA 4.07 | 有科研经历 +3 cccchenso 2026-03-23 3/150 2026-03-23 19:55 by pswait
[考研] 279分求调剂 一志愿211 +16 chaojifeixia 2026-03-19 18/900 2026-03-23 19:44 by stone_128
[考研] 0703化学求调剂 +4 奶油草莓. 2026-03-22 5/250 2026-03-23 19:37 by pswait
[考研] 333求调剂 +6 87639 2026-03-21 10/500 2026-03-23 10:41 by Iveryant
[考研] 291求调剂 +5 孅華 2026-03-22 5/250 2026-03-23 09:20 by haoshis
[考研] 311求调剂 +6 冬十三 2026-03-18 6/300 2026-03-22 20:18 by edmund7
[考研] 260求调剂 +3 朱芷琳 2026-03-20 4/200 2026-03-22 15:12 by 朱芷琳
[考研] 材料学硕333求调剂 +3 北道巷 2026-03-18 3/150 2026-03-21 18:17 by 学员8dgXkO
[考研] 313求调剂 +4 肆叁贰壹22 2026-03-19 4/200 2026-03-21 17:33 by ColorlessPI
[考研] 268求调剂 +9 简单点0 2026-03-17 9/450 2026-03-21 15:37 by lature00
[考研] 279求调剂 +5 红衣隐官 2026-03-21 5/250 2026-03-21 14:59 by lature00
[考研] 307求调剂 +3 wyyyqx 2026-03-17 3/150 2026-03-21 03:20 by JourneyLucky
[考研] 华东师范大学-071000生物学-293分-求调剂 +3 研究生何瑶明 2026-03-18 3/150 2026-03-21 01:30 by JourneyLucky
[考研] 一志愿华南师大 070300(化学)304分求调剂 +3 0703武芊慧雪304 2026-03-18 3/150 2026-03-21 00:48 by JourneyLucky
[考研] 294求调剂材料与化工专硕 +15 陌の森林 2026-03-18 15/750 2026-03-20 23:28 by JourneyLucky
[考研] 330求调剂 +4 小材化本科 2026-03-18 4/200 2026-03-20 23:13 by JourneyLucky
[考研] 304求调剂 +7 司空. 2026-03-18 7/350 2026-03-20 23:08 by JourneyLucky
[考研] 中南大学化学学硕337求调剂 +3 niko- 2026-03-19 6/300 2026-03-20 21:58 by luoyongfeng
信息提示
请填处理意见