Укажите наименьшее число x, при вводе которого алгоритм печатает сначала 4, а потом 8. var x, l, m : integer; begin readln(x); l: =0; m: =0; while x> 0 do begin m: = m + 1; if x mod 10 < > 0 then l: = l + 1; x: = x div 10; end; writeln(l); writeln(m); end.

Радькова32 Радькова32    3   03.10.2019 08:20    0

Ответы
010Dasha010 010Dasha010  17.08.2020 07:21

Алгоритм печатает сначала L, потом M. По программе понятно, что L Это количество раз, когда число не кратно 10 (каждый раз число делится на 10), а M - общее количество цифр. Понятно, что раз число должно быть наименьшее, а всего 8 цифр, значит может быть как минимум 4 нуля. Больше нулей быть не может, т.к. если в числе есть значимый ноль, то при делении он будет давать кратность десяти. 4 цифры уже есть, осталось подобрать 4 цифры, которые в числе при делении его на 10 не будут давать остаток 0. Это любые цифры от 1 до 9, но так как число минимальное, значит это цифры "1". Получается, 11110000. Переставляем цифры так, чтобы число было минимальное и получается 10000111.

ответ: 10000111

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика

Популярные вопросы