Укажите наименьшее из таких чисел x, при вводе которого алгоритм печатает сначала 3, а...

0 голосов
48 просмотров

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


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

(188 баллов)