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

Ответы 1

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

  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years