Ejemplo n.º 1
0
def solve(N):
    result = 0
    n = 1
    size_prev_divisors = 1     
    while(True):
        n += 1
        size_divisors = len(divisors_of(n))
        if size_divisors*size_prev_divisors >= N:
            if len(divisors_of(n*(n-1)/2)) >= N:
                result = n*(n-1)/2
                break
        size_prev_divisors = size_divisors
    
    print("The value of the first triangle number to have over %(N)s divisors is %(result)d" % vars())
Ejemplo n.º 2
0
def sum_proper_divisors(num):
    sum = 0
    for f in divisors_of(num):
        sum += f
    #remove num form the sum of factors
    sum -= num
    return sum