Ответ: Исправление программы поиска цифры
1) При вводе 231 программа выводит 1. 2) Например, при вводе 246 программа выводит 2, что является правильным ответом. 3) В Python нужно заменить строку minDigit = N % 10 на minDigit = 10, а строку if minDigit == 0: на if minDigit == 10:.
У этого задания официального ключа нет, поэтому ответ получен в разборе и с ключом не сверен. Перед тем как заучивать результат, пройдите выкладки — там видно, откуда взялось каждое число.
На обработку поступает натуральное число, не превышающее $10^9$. Нужно написать программу, которая выводит на экран минимальную чётную цифру этого числа. Если в числе нет чётных цифр, требуется вывести «NO». Программист написал программу неправильно. Последовательно выполните следующие действия: 1) определите, что выведет программа при вводе числа 231; 2) приведите пример такого трёхзначного числа, при вводе которого программа, несмотря на ошибки, выдаёт верный ответ; 3) найдите допущенные ошибки и исправьте их. Исправление каждой ошибки должно затрагивать только строку, в которой находится ошибка. Известно, что можно исправить ровно две строки. Достаточно указать ошибки и способ их исправления для одного языка программирования.
1N = int(input()) 2minDigit = N % 10 3while N > 0: 4 digit = N % 10 5 if digit % 2 == 0: 6 if digit < minDigit: 7 minDigit = digit 8 N = N // 10 9if minDigit == 0: 10 print("NO") 11else: 12 print(minDigit)
Где здесь ошибаются
Считать, что при вводе 231 программа выводит 2, не учитывая начальное значение minDigit = 1.
Использовать 0 как признак отсутствия чётных цифр, хотя 0 сама является чётной цифрой.
Исправлять несколько команд в одной строке или переписывать алгоритм целиком вместо замены ровно двух строк.