Информатика, вопрос задал tushkovleha2 , 7 лет назад

Укажите наименьшее из таких чисел 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.

Ответы на вопрос

Ответил lisovA2005
0

При 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 потому что думал, что должно быть меньше. Если бы программа не сработала взял бы либо отрицательные числа, либо больше тысячи (возможно бы пришлось изменить тип данных).

Новые вопросы