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

Ниже на трёх языках программирования записан алгоритм. Получив на вход натуральное число x  , этот алгоритм печатает два числа: a  и b  . Укажите наименьшее число x  , при вводе которого алгоритм печатает сначала 3  , а потом 63

|---------------------------|-------------------|-------------------------| |P ascal                     |P ython             |C + +                    | |---------------------------|-------------------|-------------------------| |var a, b, x, s : integer;   |x =  int(input())    |#include < iostream >     | |begin                      |a, b = 1, 1        |using namespace std;       | |      a :=  1;              |while x > 0 :      |int main() {              | |                           |                   |                         | |      b :=  1;              |      a + = 1      |     int x, a, b, s;     | |      read(x);              |      s = x % 1000 |     cin >>  x;          | |      while (x > 0) do begin |      b ∗ = s      |     a =  1;             | |           a := a +  1;    |      x ∕∕ = 1000  |     b =  1;             | |                           |                   |                         | |           s := x mod 1000;|print(a)            |     while (x > 0) {     | |           b := b ∗ s;     |print(b)            |           a + = 1;      | |           x := x div 1000;|                   |           s = x % 1000; | |                           |                   |                         | |      end;                 |                   |           b ∗ = s;      | |      writeln(a);            |                   |           x ∕ = 1000;   | |      writeln(b);            |                   |     }                   | |                           |                   |                         | |end.                       |                   |     cout <<  a <<  endl;| |                           |                   |     cout <<  b <<  endl; | |                           |                   |}                        | --------------------------------------------------------------------------

for i in range(10000):
    x = i
    a, b = 1, 1
    while x > 0:
        a += 1
        s = x % 1000
        b *= s
        x //= 1000
    if a == 3 and b == 63:
        print(i)
        break

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