Работа 3.4 Упр.8 Задание 3 ГДЗ Семакин 10 класс (Информатика)
Пример: N = 128452, М = 128458.
Найдём наибольшую цифру в записи числа $$N$$. Для этого последовательно просматриваем все цифры числа, выделяя последнюю цифру операцией $$tmp \bmod 10$$ и отбрасывая её операцией $$tmp \div 10$$.
После нахождения максимальной цифры заменим последнюю цифру числа $$N$$ на эту цифру. Если последняя цифра уже является наибольшей, то число не изменится.
var
n, m, tmp: integer;
c, max: integer;
begin
readln(n);
tmp := n; { текущая левая часть числа до отбрасывания последней цифры }
max := 0; { максимальная цифра }
while tmp > 0 do
begin
c := tmp mod 10; { последняя цифра }
if c > max then
max := c;
tmp := tmp div 10; { отбрасывание разряда единиц }
end;
if max = n mod 10 then
m := n
else
m := n — n mod 10 + max;
writeln(m);
end.
Ответ
Полученное число $$M$$ выводится программой.