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
全部评论

相关推荐

10-05 11:11
海南大学 Java
投票
理想江南137:感觉挺真诚的 感觉可以试一试
点赞 评论 收藏
分享
ArisRobert:统一解释一下,第4点的意思是,公司按需通知员工,没被通知到的员工是没法去上班的,所以只要没被通知到,就自动离职。就是一种比较抽象的裁员。
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务