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