• + 0 comments

    def best_divisor(n):
    best_d = 0
    largest_sum = 0
    divisors = [i for i in range(1,n+1) if n % i == 0]
    reversed_divisors = divisors[::-1]
    for d in reversed_divisors:
    sum_digits = 0
    for digit in str(d):
    sum_digits += int(digit)
    if sum_digits > largest_sum:
    largest_sum = sum_digits
    best_d = d
    elif sum_digits == largest_sum:
    if best_d > d:
    best_d = d
    return best_d

    print(best_divisor(n))

    if name == 'main': n = int(input().strip())

    print(best_divisor(n))