При 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 потому что думал, что должно быть меньше. Если бы программа не сработала взял бы либо отрицательные числа, либо больше тысячи (возможно бы пришлось изменить тип данных).
uses Graphabc;
begin
SetwindowWidth(600);
setwindowheight(400);
SetPenWidth(2);
setpencolor(clblack);
circle(500,100,50);
floodfill(500,100,clyellow);
line(250,100,300,50);
line(300,50,350,100);
line(350,100,250,100);
floodfill(300,70,clgreen);
line(225,200,300,100);
line(300,100,375,200);
line(375,200,225,200);
floodfill(300,150,clgreen);
line(200,300,300,200);
line(300,200,400,300);
line(400,300,200,300);
floodfill(300,250,clgreen);
rectangle(285,300,315,325);
floodfill(300,310,clbrown);
line(0,300,100,350);
line(100,350,200,325);
line(200,325,400,325);
line(400,325,600,375);
line(600,375,2000,375);
floodfill(50,350,clgreen);
end.