Amicable Pair

这个题只有lintcode上面有,没买Java班所以也看不到,hackerrank也有练习,此题只要看懂了亲和数的定义就不难搞定了

import sys

n = int(sys.stdin.readline().strip())

def findAmi(num):
    result = 0
    for i in xrange(2, int(num ** 0.5) + 1):
        if num % i == 0:
            result += (i + num / i)

    return result + 1


for i in xrange(n):
    num = int(sys.stdin.readline().strip())
    tmp = findAmi(num)
    if findAmi(tmp) == num:
        print 'Yes, amicable with {}'.format(tmp)
    else:
        print 'No'

results matching ""

    No results matching ""