На вход программы поступает неизвестное количество целых чисел, ввод заканчивается нулём. Найти число, у которого максимальная сумма цифр. Если таких чисел несколько, нужно вывести последнее их них.
В python. БЕЗ eval,sum ,split,map,element,list,append
и тд.БЕЗ КОМАНД ТАКИХ Все расписать,что бы было понятно
БЕЗ format,max.
Ответы
Ответ:
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.
За счёт того, что в логике проверяем на больше или равно, выводиться будет последнее при равной сумме.
![](https://st.uroker.com/files/2a6/2a6df19d2f6f9eb069cab8f55f642b3c.png)