• Предмет: Информатика
  • Автор: vaneyan095
  • Вопрос задан 5 месяцев назад

На вход программы поступает неизвестное количество целых чисел, ввод заканчивается нулём. Найти число, у которого максимальная сумма цифр. Если таких чисел несколько, нужно вывести последнее их них.
В python. БЕЗ eval,sum ,split,map,element,list,append

и тд.БЕЗ КОМАНД ТАКИХ Все расписать,что бы было понятно





БЕЗ format,max.

Ответы

Ответ дал: dimithras
1

Ответ:

max_num = 0

max_num_sum = 0

while(True):

   num_sum = 0

   x = input()

   if x.isdigit():

       for digit in x:

           num_sum += int(digit)

       if num_sum >= max_num_sum:

           max_num_sum = num_sum

           max_num = int(x)

   if x == '0':

       break

print("The number that has the biggest sum of its digits is {}".format(max_num))

Объяснение:

Без max и прочих команд.

Принимаем числа в бесконечном цикле, проверяем что это число. Если число, то идём по каждой цифре и суммируем в num_sum, в переменную max_num_sum записываем максимальную сумму цифр для цисел, а в max_num записываем само число.

Как ввод чиле заканчивается, выводим max_num.

За счёт того, что в логике проверяем на больше или равно, выводиться будет последнее при равной сумме.

Приложения:
Вас заинтересует