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

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

|---------------------------------|------------------|----------------------------| |P ascal                          |Python            |C + +                       | |---------------------------------|------------------|----------------------------| |var x, a, m, s : integer;         |x =  int(input())   |#include < iostream >        | |begin                            |a =  0            |using namespace std;        | |      readln(x);                  |m  = 0            |int main() {                | |                                 |                  |                            | |      a :=  0; m :=  0;            |while x > 0 :     |     int x, a, m, s;        | |      while x > 0 do begin        |     s =  x % 10  |     cin >>  x;             | |           s := x mod 10;        |     a + = s      |     a =  0; m = 0;         | |           a := a +  s;          |     if s > m :   |     while (x >  0){         | |                                 |                  |                            | |           if s > m then m := s; |           m =  s |           s = x %10;       | |                 x :=  x div 10;   |     x =  x ∕∕ 10 |           a + = s;         | |      end;                       |print(a)           |           if (s > m ) m = s;| |              ′ ′                |                  |                            | |      writeln(a, , m);            |print(m )          |                x ∕ = 10;   | |end.                             |                  |     }                      | |                                 |                  |     cout <<  a;            | |                                 |                  |                            | |                                 |                  |     cout <<  m;            | |                                 |                  |     return 0;              | |                                 |                  |}                           | ----------------------------------------------------------------------------------

for i in range(10000, 0, -1):
    x = i
    a = 0
    m = 0
    while x > 0:
        s = x % 10
        a += s
        if s > m:
            m = s
        x = x // 10
    if a == 12 and m == 8:
        print(i)
        break

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