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

Ниже на трех языках программирования записан алгоритм. Получив на вход число x  , этот алгоритм печатает два числа: L  и M  . Укажите наибольшее число x  , меньшее 30  000  , при вводе которого алгоритм печатает сначала 9  , а потом 5  .

-------------------------------------------------------------------------------------------------------------- |                                 |                         |                                                 | |P-ascal--------------------------|P-ython------------------|C-+--+-------------------------------------------| |var x,L, M  : integer;           |x =  int(input ())        |#include   < iostream >                          | |                                 |                         |                                                 | |bedin                            |L  = 0                   |using namespace   std;                           | |     readln (x);                 |M   = 0                  |int main (){                                     | |                                 |                         |                                                 | |     L := 0;                     |while  x > 0 :           |     int x, L, M  ;                              | |     M  := 0;                    |      M  = M  + 1        |     cin  > >  x;                                | |                                 |                         |                                                 | |     while  x > 0 do             |      if x % 2  ==   0 : |     L  = 0;                                     | |     begin                       |           L =  L  +  M  |     M  =  0;                                    | |                                 |                         |                                                 | |           M  = M  + 1;          |      x =  x ∕∕ 10       |     while (x > 0){                              | |           if x mod  2 =  0 then |print (L )                |           M  = M  + 1;                          | |                                 |                         |                                                 | |                L := L  +  M ;   |print (M  )               |           if (x % 2  ==   0)                    | |           x :=  x div 10;        |                         |                L =  L + M ;                     | |                                 |                         |                                                 | |     end;                        |                         |     x =  x ∕ 10;                                | |     writeln (L);                |                         |     }                                           | |                                 |                         |                                                 | |     writeln (M );               |                         |     cout  < <  L  <<   endl < <  M   < <  endl; | |end.                             |                         |     return  0;                                  | |                                 |                         |                                                 | -------------------------------------------------------------}------------------------------------------------|

for i in range(1, 30000):
    x = i
    l = 0
    m = 0
    while x > 0:
        m += 1
        if x % 2 == 0:
            l += m
        x //= 10
    if l == 9 and m == 5:
        maxim = i
print(maxim)

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