Регистрация
Войти
Стать экспертом Правила
Информатика

Укажите наибольшее число x, при вводе которого алгоритм печатает сначала 5, а потом 8.var x, L, M: integer;beginreadln(x);L := 0;M := 0;while x > 0 do beginM := M + 1;if x mod 2 <> 0 then L := L + 1;x := x div 2;end;writeln(L);writeln(M);end.

ОТВЕТЫ
Главное понять что же делает эта программа. А она во-первых находит сколько единиц будет в двоичной записи числа x, для этого используется переменная . И во-вторых находит количество цифр в двоичной записи числа , для этого используется переменная . Теперь мы можем переформулировать условие задачи так: найти максимальное число записываемое в двоичной системе 8-ю цифрами и содержащее в этой записи ровно 5 единиц. Очевидно максимальным из всех таких чисел будет такое, у которого в старших разрядах будут единицы, а в младших разрядах нули, т.е. число 11111000, в десятичной системе это число записывается как 248.
: 248.
498
Контакты
Реклама на сайте
Спрошу
О проекте
Новым пользователям
Новым экспертам