Задать вопрос
22 марта, 06:47

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

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

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