Укажите наибольшее натуральное число, при вводе которого эта программа напечатает сначала 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.
2) идём восходящим методом. чтобы число было наибольшим, то нужно помножить наибольший остаток при последней итерации цикла, следовательно остатки в цикле будут 6. 0, 0
теперь помножим 6 на 8 два раза
получим следующую цепочку 6->48->384, следовательно 384 наибольшее такое число.
ответ: 384