Укажите наименьшее число x, при вводе которого алгоритм печатает сначала 4, а потом 8....

0 голосов
60 просмотров

Укажите наименьшее число 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.


Информатика (14 баллов) | 60 просмотров
Дан 1 ответ
0 голосов

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


Ответ: 10000111


(1.9k баллов)