Предмет: Информатика, автор: yarikm2006

разработайте программу, которая получает от пользователя натуральные числа до тех пор, пока не будет введено число 0, и вычисляет сумму максимальных цифр всех введённых чисел

Ответы

Автор ответа: makason512
0

Ответ:

total_sum = 0

while True:

 number = int(input("Введите натуральное число (или 0, чтобы закончить): "))

 

 if number == 0:

   break

 max_digit = 0

 while number > 0:

   digit = number % 10

   if digit > max_digit:

     max_digit = digit

   number = number // 10

 total_sum += max_digit

print(f"Сумма максимальных цифр всех введенных чисел: {total_sum}")

Объяснение:

Цикл while True будет выполняться бесконечно, пока не будет выполнен оператор break, который прерывает цикл.

Пользователь вводит натуральное число с помощью функции input. Эта функция возвращает строку, поэтому нужно привести ее к типу int с помощью функции int.

Если введенное число равно 0, то выполняется оператор break, который прерывает цикл.

В переменной max_digit хранится максимальная цифра введенного числа. Для этого мы используем вложенный цикл while number > 0, который выполняется, пока значение number больше нуля. Внутри цикла мы вычисляем цифру числа number, используя оператор взятия остатка от деления %, и обновляем значение max_digit, если цифра больше текущего значения. Также мы делим число number на 10, чтобы получить целое число без последней цифры (оператор // выполняет целочисленное деление).

Когда цикл заканчивается, мы увеличиваем значение total_sum на максимальную цифру числа.

После того, как пользователь введет 0, цикл прерывается и выводится сумма максимальных цифр всех введенных чисел.

Похожие вопросы