Ответ: Исправление программы обработки цифр
Для 243 программа выводит 3. Пример трёхзначного числа: 248. Исправления: maxDigit = N % 10 заменить на maxDigit = -1; digit = maxDigit заменить на maxDigit = digit.
У этого задания официального ключа нет, поэтому ответ получен в разборе и с ключом не сверен. Перед тем как заучивать результат, пройдите выкладки — там видно, откуда взялось каждое число.
На обработку поступает натуральное число, не превышающее $10^9$. Нужно написать программу, которая выводит на экран максимальную чётную цифру этого числа. Если в числе нет чётных цифр, требуется вывести «NO». Программист написал программу неправильно. Рассмотрите приведённую ниже программу на Python:
N = int(input())
maxDigit = N % 10
while N > 0:
digit = N % 10
if digit % 2 == 0:
if digit > maxDigit:
digit = maxDigit
N = N // 10
if maxDigit >= 0:
print(maxDigit)
else:
print("NO")
Последовательно выполните три пункта: определите результат работы программы при вводе числа 243; приведите пример трёхзначного числа, при вводе которого программа, несмотря на ошибки, выдаёт верный ответ; найдите две ошибки и исправьте их, изменяя только строки, в которых они допущены. Для каждой ошибки укажите исходную строку и правильный вариант строки.
Где здесь ошибаются
Указывать результат работы исправленной программы вместо результата исходной программы.
Менять условие digit > maxDigit вместо строки с присваиванием.
Исправлять только присваивание maxDigit = digit и забывать изменить начальное значение maxDigit.
Приводить число, у которого последняя цифра не совпадает с максимальной чётной цифрой.