1) 7 - изза начального присвоение m 2) 994. 4 соответствует условию, остальные числа лишь максимизируют число 3)
var N, d, m: longint;
begin readln(N); {m := N mod 10; ошибочная строка} m:=-1; {N mod 10 - может не удовлетворять условию, 0 - может и удовлетворять условию } while N > 0 do begin d := N mod 10; if d < 5 then if d > m then m := d; N := N div 10; end; {if m = 0 then ошибочная строка} if m = -1 then {если в цикле m так не разу и не поменялась} writeln('NO') else writeln(m); end.
2) 994. 4 соответствует условию, остальные числа лишь максимизируют число
3)
var
N, d, m: longint;
begin
readln(N);
{m := N mod 10; ошибочная строка}
m:=-1; {N mod 10 - может не удовлетворять условию, 0 - может и удовлетворять условию }
while N > 0 do
begin
d := N mod 10;
if d < 5 then
if d > m then m := d;
N := N div 10;
end;
{if m = 0 then ошибочная строка}
if m = -1 then {если в цикле m так не разу и не поменялась}
writeln('NO')
else writeln(m);
end.