H. Максимальная сумма

Ребята в детском саду снова играют с числами. И пусть числа они знают плохо, придумывать их они очень любят.
Они договорились, что будут называть числа по очереди и тот, кто назовёт число с наибольшей суммой цифр, будет считаться победителем. В качестве судьи они выбрали бедную воспитательницу, и она попросила нас о помощи. Напишите программу, которая определит победителя.

Формат ввода

В первой строке записано число N — количество детей в группе. Далее вводятся имя ребенка и его число (каждое на своей строке).

Формат вывода:

Требуется вывести имя победителя.
Если два ребенка назвали числа с одинаковой суммой цифр, победителем должен быть признан тот, кто ходил позже.

Пример

Ввод

2
Аня
123
Боря
234

Вывод

Боря

Ввод

3
Аня
1234
Боря
234
Ваня
2323

Вывод

Ваня

Решение

Обычная задача на поиск максимума. Нюанс состоит в том, что нам надо отслеживать две переменные – максимальная сумма и имя. Второй нюанс в том, что нам надо назвать имя последнего ребенка в случае совпадения сумм.

Инициализируем максимальную сумму в -1 и имя в пустую строку.
Принимаем количество детей.
Организуем цикл ввода имени и числа и в цикле сравниваем сумму цифр числа с текущей максимальной. Как посчитать сумму цифр мы знаем из задачи K. Цифровая сумма.
Если сумма цифр больше или равна текущей максимальной, то запоминаем имя и новую сумму.
По окончании цикла выводим имя победителя.

Посмотреть код

Решение

Python
count = int(input())

best_name = ''
best_sum = 0
for i in range(count):
    name = input()
    number = int(input())
    summa = 0
    while number > 0:
        summa += number % 10
        number //= 10
    if summa >= best_sum:
        best_sum = summa
        best_name = name

print(best_name)
Подписаться
Уведомить о
guest
0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии