python完全数计算,分两步,一个函数求约数和,其他的做判断

iNOC产品部--完全数计算

http://www.nowcoder.com/questionTerminal/7299c12e6abb437c87ad3e712383ff84

encoding:utf-8

def com(n): #求约数的函数

sum = 0
for i in range(1,n/2+1):
    if n%i == 0:
        # print i
        sum = sum+i
    # i = i+1
return sum

if name == 'main':
while True:
try:
s = input()
if s>0 and s<=500000:
i = 1
count = 0
while i<=s:

                sum = com(i)
                # print 'sum,i',sum,i
                if sum == i:
                    count = count +1
                    # print 'sum==i'
                i= i+1
            print count
        else:
            print '-1'
    except:
        break
全部评论

相关推荐

11-22 16:49
已编辑
北京邮电大学 Java
美团 质效,测开 n*15.5
点赞 评论 收藏
分享
jack_miller:我给我们导员说我不在这里转正,可能没三方签了。导员说没事学校催的时候帮我想办法应付一下
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务