Пример #1
0
def solve022(names):
    names.sort()
    sum_ = 0
    for i in range(len(names)):
        name = names[i]
        name_score = [General.letter_num(letter) for letter in name]
        sum_ += sum(name_score) * (i + 1)
    return sum_
Пример #2
0
def solve004(digit_size):
    check_size = digit_size // 10
    checks = range(digit_size - check_size, digit_size)
    mult_table = Basic.multiplication_table(checks, checks)
    palindromes = list()
    for row in mult_table:
        for num in row:
            if General.is_palindrome(num):
                palindromes.append(num)
    return max(palindromes)
Пример #3
0
def num_factors_of(num):
    primes = prime_factors_of(num)
    count_values = General.count_list(primes).values()
    return Basic.product([x + 1 for x in count_values])
Пример #4
0
def solve067(triangle):
    start = triangle.pop()
    return General.max_two_lower(start, triangle)
Пример #5
0
def solve025(digits):
    fibonacci = [1, 1]
    while General.num_digits(fibonacci[-1]) < digits:
        fibonacci.append(fibonacci[-1] + fibonacci[-2])
    return len(fibonacci)
Пример #6
0
def solve020(num):
    factorial = Basic.factorial(num)
    return General.sum_of_digits(factorial)
Пример #7
0
def solve017(words, limit):
    num_words = str()
    for i in range(1, limit):
        num_words += General.num_as_word(i, words).replace(" ", "")
    return len(num_words)
Пример #8
0
def solve016(exponent):
    num = 2 ** exponent
    return General.sum_of_digits(num)
Пример #9
0
def solve014(limit):
    iterations = NumberTheory.collatz_iterations_under(limit)
    return General.key_with_max_value(iterations)
Пример #10
0
def solve013(nums, digits):
    return General.first_digits(sum(nums), digits)
Пример #11
0
def solve011(data, length):
    return General.max_product_of(data, length)