Задача к ЕГЭ по информатике на тему «программирование – циклы, условия» №7

Ниже на трёх языках программирования записана программа, которая получает натуральное число x  , выполняет преобразования, а затем выводит два числа. Укажите наименьшее возможное значение x  , при вводе которого программа выведет 16  и 2  .

|-------------------------|------------------|------------------------| |P ascal                  |Python            |C + +                   | |-------------------------|------------------|------------------------| |var x,a,b : integer;      |x = int(input())   |int x, a = 0, b = 0;    | |begin                    |a = 0             |cin >>  x;              | |  readln(x);              |b = 0             |while (x > 0) {         | |                         |                  |                        | |  a := 0;                 |while x >  0 :     |  if (x % 2 == 0)       | |  b := 0;                 |  if x % 2 > 0 :   |    a =  a + x % 8;     | |  while (x > 0) do begin  |   a =  a + x % 8 |  else                   | |    if (x mod 2 = 0) then |  else :           |    b = b +  x % 8;     | |                         |                  |                        | |      a := a +  x mod 8  |   b =  b + x % 8 |  x =  x ∕ 8;           | |    else                 |  x = x ∕∕ 8      |}                       | |      b :=  b + x mod 8;  |print(a, b)        |cout <<  a <<  ′ ′ << b; | |                         |                  |                        | |    x := x div 8;        |                  |                        | |  end;                   |                  |                        | |  writeln (a, ′ ′, b);       |                  |                        | |                         |                  |                        | -end.-----------------------------------------------------------------|

for i in range(1, 100000):
 
    x = i
 
    a, b = 0, 0
 
    while x > 0:
 
        if x % 2 > 0:
 
            a += x % 8
 
        else:
 
            b += x % 8
 
        x //= 8
 
    if a == 16 and b == 2:
 
        print(i)
 
        break

Ответ: 4799
Оцените статью
Я решу все!