512) На обработку поступает натуральное число, не превышающее 109. Нужно написать программу, которая выводит на экран минимальную чётную цифру этого числа. Если в числе нет чётных цифр, требуется на экран вывести «NO». Программист написал программу неправильно. Ниже эта программа для Вашего удобства приведена на трех языках программирования.
N = int(input())
minDigit = N % 10
while N > 0:
digit = N % 10
if digit % 2 == 0:
if digit < minDigit:
minDigit = digit
N = N // 10
if minDigit == 0:
print("NO")
else:
print(minDigit)
var
N: longint;
digit, minDigit:integer;
begin
readln(N);
minDigit := N mod 10;
while N > 0 do begin
digit := N mod 10;
if digit mod 2 = 0 then
if digit < minDigit then
minDigit := digit;
N := N div 10;
end;
if minDigit = 0 then
writeln('NO')
else
writeln(minDigit)
end.
#include <iostream>
using namespace std;
int main() {
long N;
int digit, minDigit;
cin >> N;
minDigit = N % 10;
while (N > 0) {
digit = N % 10;
if (digit % 2 == 0)
if (digit < minDigit)
minDigit = digit;
N = N / 10;
}
if (minDigit == 0)
cout << "NO" << endl;
else
cout << minDigit << endl;
}
Последовательно выполните следующее:
1. Напишите, что выведет эта программа при вводе числа 231.
2. Приведите пример такого трёхзначного числа, при вводе которого приведённая программа, несмотря на ошибки, выдаёт верный ответ.
3. Найдите допущенные программистом ошибки и исправьте их.