Esempio n. 1
0
 def solve(self):
     result = 0
     for value in xrange(1, self.num):
         anotherValue = sum(get_proper_divisors(value))
         if value == anotherValue:
             continue
         if value == sum(get_proper_divisors(anotherValue)):
             result += value
     return result
def get_abundant_numbers():
    abundants = []
    for n in range(1, MAX + 1):
        if n % 1000 == 0:
            print(n, end='\r')
        sum_ = sum(utils.get_proper_divisors(n))
        if sum_ > n:
            abundants.append(n)
    return abundants
def num_periods(n):
    if n % 2 == 0:
        n = int(n / 2)
    if n % 5 == 0:
        n = int(n / 5)
    divs = utils.get_proper_divisors(phi(n), True)
    for divsr in divs:
        if 10**divsr % n == 1:
            return divsr
    return 0
Esempio n. 4
0
 def solve(self):
     abundants = []
     for value in xrange(1, self.max + 1):
         if sum(get_proper_divisors(value)) > value:
             abundants.append(value)
     non_abundants = set()
     for index, itemLeft in enumerate(abundants):
         if itemLeft >= self.max / 2:
             break
         for itemRight in abundants[index:]:
             value = itemLeft + itemRight
             if value > self.max:
                 break
             else:
                 non_abundants.add(value)
     all_sum = int(self.max * (self.max + 1) / 2)
     return all_sum - sum(non_abundants)
def d(n):
    return sum(utils.get_proper_divisors(n))
Esempio n. 6
0
def is_abundant(number):
    return sum(get_proper_divisors(number)) > number
Esempio n. 7
0
def is_abundant(number):
    return sum(get_proper_divisors(number)) > number