Задать вопрос
21 ноября, 02:38

Укажите наибольшее натуральное число, при вводе которого эта программа напечатает сначала 3, потом - 6. С объяснением

var x, L, M: integer;

begin

readln (x) ;

L:=0; M:=0;

while x > 0 do begin

L:=L + 1;

if (x mod 8) 0 then

M: = M + x mod 8;

x: = x div 8;

end;

writeln (L) ; write (M) ;

end.

+5
Ответы (1)
  1. 21 ноября, 05:17
    0
    1) цикл проработает 3 раза, но деление на 8 произойдёт дважды

    2) идём восходящим методом. чтобы число было наибольшим, то нужно помножить наибольший остаток при последней итерации цикла, следовательно остатки в цикле будут 6. 0, 0

    теперь помножим 6 на 8 два раза

    получим следующую цепочку 6->48->384, следовательно 384 наибольшее такое число.

    Ответ: 384
Знаете ответ на вопрос?
Не уверены в ответе?
Правильный ответ на вопрос 👍 «Укажите наибольшее натуральное число, при вводе которого эта программа напечатает сначала 3, потом - 6. С объяснением var x, L, M: integer; ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы