Пожалуйста,объясните мне.
Ниже записана программа. Получив на вход число x, эта программа печатает два числа. Укажите набольшее из таких чисел x, при вводе которых алгоритм печатает сначала 3, а потом 24.
var x, a, b : integer;
begin
readln(x);
a := 0; b := 1;
while x > 0 do begin
a := a + 1;
b := b * (x mod 8);
x := x div 8;
end;
writeln(a); write(b);
end.