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

Ответы 1

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

    Ответ: 10000111

    • Автор:

      obiemoon
    • 6 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years