Задать вопрос
17 января, 07:31

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

var x, L, M: integer;

begin

readln (x);

L : = 0; M : = 0;

while x > 0 do begin

M : = M + 1;

if x mod 2 0 then

L : = L + 1;

x : = x div 2;

end;

writeln (L);

writeln (M); end.

+1
Ответы (1)
  1. 17 января, 09:35
    0
    Главное понять что же делает эта программа. А она во-первых находит сколько единиц будет в двоичной записи числа x, для этого используется переменная L. И во-вторых находит количество цифр в двоичной записи числа x, для этого используется переменная M. Теперь мы можем переформулировать условие задачи так: найти максимальное число записываемое в двоичной системе 8-ю цифрами и содержащее в этой записи ровно 5 единиц. Очевидно максимальным из всех таких чисел будет такое, у которого в старших разрядах будут единицы, а в младших разрядах нули, т. е. число 11111000, в десятичной системе это число записывается как 248.

    Ответ: 248.
Знаешь ответ?
Не уверен в ответе?
Найди верный ответ на вопрос ✅ «Укажите наибольшее число x, при вводе которого алгоритм печатает сначала 5, а потом 8. var x, L, M: integer; begin readln (x); L : = 0; M : ...» по предмету 📙 Информатика, а если ответа нет или никто не дал верного ответа, то воспользуйся поиском и попробуй найти ответ среди похожих вопросов.
Искать другие ответы