Задание 10 Параграф 7 ГДЗ Босова 11 класс (Информатика)
Получив на вход число $$x$$, приведённая ниже программа выводит два числа — $$m$$ и $$n$$.
var x, m, n: integer;
begin
readln(x);
m := 0;
n := 0;
while x > 0 do begin
if n < x mod 10 then n := x mod 10;
m := m + 1;
x := x div 10;
end;
writeln(m);
write(n)
end.
Известно, что при некотором значении $$x$$ были выведены числа 4 и 8. Укажите наибольшее и наименьшее из таких чисел $$x$$. Сколько всего существует таких $$x$$?
Программа в цикле просматривает цифры числа $$x$$ справа налево:
- $$m:=m+1$$ — считает количество цифр в числе;
- $$n$$ запоминает наибольшую цифру, так как каждый раз сравнивается с $$x \bmod 10$$.
Если на выходе получены числа $$4$$ и $$8$$, значит:
- число $$x$$ четырёхзначное;
- наибольшая цифра в нём равна $$8$$.
Наименьшее такое число — $$1008$$, наибольшее — $$8888$$.
Посчитаем количество четырёхзначных чисел, в записи которых есть хотя бы одна цифра $$8$$.
Всего четырёхзначных чисел с первой цифрой от $$1$$ до $$8$$ и остальными цифрами от $$0$$ до $$8$$:
$$8 \cdot 9 \cdot 9 \cdot 9 = 5832$$
Из них вычтем числа, в записи которых нет цифры $$8$$:
$$7 \cdot 8 \cdot 8 \cdot 8 = 3584$$
Тогда количество подходящих чисел:
$$5832 — 3584 = 2248$$
Ответ
Наименьшее число — $$1008$$, наибольшее — $$8888$$, всего таких чисел $$2248$$.

