Укажите наименьшее из таких чисел x, при вводе которого алгоритм печатает сначала 3, а потом 4. var x, a, b: integer; begin readln(x); a: =0; b: =0; while x> 0 do begin a: =a + 1; if b < (x mod 8) then b: =x mod 8; x: =x div 8; end; writeln(a); write(b); end.
При x = 68;
Как проверял:
var
x, a, b, i: integer;
begin
for i := 1 to 1000 do
begin
x := i;
a := 0;
b := 0;
while x > 0 do
begin
a := a + 1;
if b < (x mod 8)
then b := x mod 8;
x := x div 8;
end;
if (a = 3) and (b = 4) Then
begin
writeln(i);
break;
end;
end;
end.
Взял 1000 потому что думал, что должно быть меньше. Если бы программа не сработала взял бы либо отрицательные числа, либо больше тысячи (возможно бы пришлось изменить тип данных).