ЕГЭ, вопрос 22: П. Умение анализировать алгоритм, содержащий ветвление и цикл

Проверяемые элементы содержания по спецификации (2019): Умение анализировать алгоритм, содержащий ветвление и цикл.

Кодификатор 1.6.1/1.1.4. Уровень сложности П, 1 балл.

Время выполнения — 7 минут. [Было 6, потом — 5 при увеличении сложности]

Достаточно сложное логическое задание. На данный момент я затрудняюсь однозначно оценить время.


Доступ к размещенным в этом месте материалам ограничен и предоставляется следующим категориям:

  1. Подготовка к ОГЭ
  2. Подготовка к ЕГЭ
  3. VIP-пользователь
  4. Благотворитель

Задание 1. Сколько раз повторится цикл? Два раза (А=2). Но это зависит от изменения Х, а от данной переменной просто "отрубается последний разряд". Это означает, что число Х должно быть двузначным.

В переменную В накапливается сумма «отрубленных хвостов» и она должна быть равна 10. Из двух слагаемых. Для минимального Х. Дальше продолжать не вижу смысла.

Задание 2. Те же закономерности, но Х должен быть наибольшим.

Задания

  1. Демо 2021 (22).
  2. Демо 2020 (20). Ниже на пяти языках программирования записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа: L и M. Укажите наименьшее число x, при вводе которого алгоритм печатает сначала 6, а потом 7.
    БейсикPython
    DIM X, L, M AS INTEGER
    INPUT X
    L = 0
    M = 0
    WHILE X > 0
      M = M + 1
      IF X MOD 2 = 0 THEN
        L = L + 1
      ENDIF
      X = X \ 2
    WEND
    PRINT L
    PRINT M
    x = int(input())
    L = 0
    M = 0
    while x > 0:
      M = M + 1
      if x % 2 == 0:
        L = L + 1
      x = x // 2
    print(L)
    print(M
    Алгоритмический языкПаскаль
    алг
    нач
    цел x, L, M
    ввод x
    L := 0
    M := 0
    нц пока x > 0
      M := M + 1
      если mod(x,2) = 0 то
        L := L + 1
      все
      x := div(x,2)
    кц
    вывод L, нс, M
    кон
    var x, L, M: integer;
    begin
    readln(x);
    L := 0;
    M := 0;
    while x > 0 do
      begin   M := M + 1;
      if x mod 2 = 0 then
        L := L + 1;
      x := x div 2;
    end;
    writeln(L);
    writeln(M);
    end.
    C++
    #include <iostream>
    using namespace std;
    int main() {
    int x, L, M;
    cin >> x;
    L = 0;
    M = 0;
    while (x > 0){
      M = M + 1;
      if(x % 2 == 0){
        L = L + 1;
      }
      x = x / 2;
    }
    cout << L << endl << M << endl;
    return 0;
    }

  3. Демо 2019 (20). Ниже на пяти языках программирования записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа: L и M. Укажите наименьшее число x, при вводе которого алгоритм печатает сначала 5, а потом 7.
    БейсикPython
    DIM X, L, M AS INTEGER
    INPUT X
    L = 0
    M = 0
    WHILE X > 0
      M = M + 1
      IF X MOD 2 <> 0 THEN
        L = L + 1
      END IF
      X = X \ 2
    WEND
    PRINT L
    PRINT M
    x = int(input())
    L = 0
    M = 0
    while x > 0:
      M = M + 1
      if x % 2 != 0:
        L = L + 1
      x = x // 2
    print(L)
    print(M)
    Алгоритмический языкПаскаль
    алг
    нач
    цел x, L, M
    ввод x
    L := 0
    M := 0
    нц пока x > 0
      M := M + 1
      если mod(x,2) <> 0
        то
        L := L + 1
      все
      x := div(x,2)
    кц
    вывод L, нс, M
    кон
    var x, L, M: integer;
    begin
    readln(x);
    L := 0;
    M := 0;
    while x>0 do
      begin
      M := M + 1;
      if x mod 2 <> 0 then
        L := L + 1;
      x := x div 2;
    end;
    writeln(L);
    writeln(M);
    end
    Си++
    #include
    using namespace std;
    int main(){
    int x, L, M;
    cin >> x;
    L = 0;
    M = 0;
    while (x > 0) {
      M = M + 1;
      if(x % 2 != 0) {
        L = L + 1;
      }
    x = x / 2;
    }
    cout << L << endl << M << endl;
    return 0;
    }

  4. Демо 2018 (20). Ниже на пяти языках программирования записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа: L и M. Укажите наименьшее число x, при вводе которого алгоритм печатает сначала 5, а потом 7.
    БейсикPython
    DIM X, L, M AS INTEGER
    INPUT X
    L = 0
    M = 0
    WHILE X > 0
      M = M + 1
      IF X MOD 2 <> 0 THEN
        L = L + 1
      END IF
      X = X \ 2
    WEND
    PRINT L
    PRINT M
    x = int(input())
    L = 0
    M = 0
    while x > 0:
      M = M + 1
      if x % 2 != 0:
        L = L + 1
      x = x // 2
    print(L)
    print(M)
    Алгоритмический языкПаскаль
    алг
    нач
    цел x, L, M
    ввод x
    L := 0
    M := 0
    нц пока x > 0
      M := M + 1
      если mod(x,2) <> 0
      то
        L := L + 1
      все
      x := div(x,2)
    кц
    вывод L, нс, M
    кон
    var x, L, M: integer;
    begin
    readln(x);
    L := 0;
    M := 0;
    while x>0 do
    begin
      M := M + 1;
      if x mod 2 <> 0 then
        L := L + 1;
      x := x div 2;
    end;
    writeln(L);
    writeln(M);
    end.
    Си++
    #include <iostream>
    using namespace std;
    int main(){
    int x, L, M;
    cin >> x;
    L = 0;
    M = 0;
    while (x > 0) {
      M = M + 1;
      if(x % 2 != 0) {
        L = L + 1;
    }
    x = x / 2;
    }
    cout << L << endl << M << endl;
    return 0;
    }

  5. D2018 (20). Ниже на пяти языках программирования записан алгоритм. Получив на вход натуральное десятичное число x, этот алгоритм печатает два числа: L и M. Укажите наибольшее число x, при вводе которого алгоритм печатает сначала 14, а потом 3.
    БейсикPython
    DIM X, L, M AS INTEGER
    INPUT X
    L = 0
    M = 0
    WHILE X > 0
      M = M + 1
      IF X MOD 2 <> 0 THEN
        L = L + X MOD 8
      END IF
      X = X \ 8
    WEND
    PRINT L
    PRINT M
    x = int(input())
    L = 0
    M = 0
    while x > 0:
      M = M + 1
      if x % 2 != 0:
        L = L + x % 8
      x = x // 8
    print(L)
    print(M)
    Алгоритмический языкПаскаль
    алг
    нач
    цел x, L, M
    ввод x
    L := 0
    M := 0
    нц пока x > 0
      M := M + 1
      если mod(x,2) <> 0
      то
        L := L + mod(x,8)
      все
      x := div(x,8)
    кц
    вывод L, нс, M
    кон
    var x, L, M: integer;
    begin
    readln(x);
    L := 0;
    M := 0;
    while x > 0 do
    begin
      M := M + 1;
      if x mod 2 <> 0 then
        L := L + x mod 8;
      x := x div 8
    end;
    writeln(L);
    writeln(M)
    end.
    C++
    #include <iostream>
    using namespace std;
    int main(){
    int x, L, M;
    cin >> x;
    L = 0;
    M = 0;
    while (x > 0) {
      M = M + 1;
      if(x % 2 != 0) {
        L = L + x % 8;
      }
      x = x / 8;
    }
    cout << L << endl << M << endl;
    return 0; }

  6. R2018 (20). Укажите наибольшее десятичное число, при вводе которого на экране сначала напечатается 3, а затем 6.
    БейсикPython
    DIM X, L, M AS INTEGER
    INPUT X
    L = 0
    M = 0
    WHILE X > 0
      L = L + 1
      IF X MOD 2 <> 0 THEN
        M = M + (X MOD 8)
      ENDIF
      X = X \ 8
    WEND
    PRINT L
    PRINT M
    x = int(input())
    L = 0
    M = 0
    while x > 0 :
      L = L+1
      if (x % 2) != 0:
        M = M + x % 8
      x = x // 8
    print(L) print(M)
    Си++Паскаль
    #include <iostream>
    using namespace std;
    int main(void)
    {
    int L, M, x;
    cin >> x;
    L = 0;
    M = 0;
    while (x > 0) {
      L = L + 1;
      if (x % 2 != 0) {
        M = M + x % 8;
      }
      x = x / 8;
    }
    cout << L << " " << M;
    }
    var x, L, M: integer;
    begin
    readln(x);
    L:=0; M:=0;
    while x > 0 do begin
      L:=L + 1;
      if (x mod 2) <> 0 then
        M:= M + x mod 8;
      x:= x div 8;
    end;
    writeln(L);
    write(M);
    end.

  7. Демо 2017 (20). Ниже на пяти языках программирования записан алгоритм. Получив на вход натуральное число x, этот алгоритм печатает число R. Укажите такое число x, при вводе которого алгоритм печатает двузначное число, сумма цифр которого равна 16. Если таких чисел x несколько, укажите наименьшее из них.
    БейсикPython
    DIM X,D,R AS LONG
    INPUT X
    R = 0
    WHILE X>0
      D = X MOD 10
      R = 10*R + D
      X = X \ 10
    WEND
    PRINT R
    x = int(input())
    R = 0
    while x>0:
      d = x % 10
      R = 10*R + d
      x = x // 10
    print(R)
    Алгоритмический языкПаскаль
    алг
    нач
    цел x, d, R
    ввод x
    R := 0
    нц пока x>0
      d := mod(x, 10)
      R := 10*R + d
      x := div(x, 10)
    кц
    вывод R
    кон
    var
    x,d,R: longint;
    begin
    readln(x);
    R := 0;
    while x>0 do
    begin
      d := x mod 10;
      R := 10*R + d;
      x := x div 10
    end;
    writeln(R)
    end.
    Си
    #include <stdio.h>
    int main()
    {
    long x,d,R;
    scanf("%ld", &x);
    R = 0;
    while (x>0)
    {
      d = x % 10;
      R = 10*R + d;
      x = x / 10;
    }
    printf("%ld", R);
    return 0;
    }

  8. Демо 2016 (20). Ниже на пяти языках программирования записан алгоритм. Получив на вход число x, этот алгоритм печатает число M. Известно, что x > 100. Укажите наименьшее такое (т.е. большее 100) число x, при вводе которого алгоритм печатает 26.
    БейсикPython
    DIM X, L, M AS INTEGER
    INPUT X
    L = X
    M = 65
    IF L MOD 2 = 0 THEN
      M = 52
    ENDIF
    WHILE L <> M
      IF L > M THEN
        L = L – M
      ELSE
        M = M – L
      ENDIF
    WEND
    PRINT M
    x = int(input())
    L = x
    M = 65
    if L % 2 == 0:
      M = 52
    while L != M:
      if L > M:
        L = L - M
      else:
        M = M - L
    print(M)
    Алгоритмический языкПаскаль
    алг
    нач
    цел x, L, M
    ввод x
    L := x
    M := 65
    если mod(L,2)=0
    то
      M := 52
    все
    нц пока L <> M
      если L > M
      то
        L := L – M
      иначе
        M := M – L
      все
    кц
    вывод M
    кон
    var x, L, M: integer;
    begin
    readln(x);
    L := x;
    M := 65;
    if L mod 2 = 0 then
      M := 52;
    while L <> M do
      if L > M then
        L := L - M
      else
        M := M – L;
    writeln(M);
    end.
    Си
    #include<stdio.h>
    void main()
    {
    int x, L, M;
    scanf("%d", &x);
    L = x;
    M = 65;
    if (L % 2 == 0)
      M = 52;
    while (L != M){
      if(L > M)
        L = L - M;
      else
        M = M - L;
    }
    printf("%d", M);
    }

  9. Демо 2015 (20). Ниже на пяти языках программирования записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа: a и b.
    Укажите наименьшее из таких чисел x, при вводе которых алгоритм печатает сначала 2, а потом 15.
    БейсикPython
    DIM X, A, B AS INTEGER
    INPUT X
    A=0: B=1
    WHILE X > 0
      A = A+1
      B = B*(X MOD 10)
      X = X \ 10
    WEND
    PRINT A
    PRINT B
    x = int(input())
    a = 0
    b = 1
    while x > 0:
      a = a + 1
      b = b * (x % 10)
      x = x // 10
    print(a)
    print(b)
    Алгоритмический языкПаскаль
    алг
    нач
    цел x, a, b
    ввод x
    a:=0; b:=1
    нц пока x>0
      a:=a+1
      b:=b*mod(x,10)
      x:=div(x,10)
    кц
    вывод a, нс, b
    кон
    var x, a, b: integer;
    begin
    readln(x);
    a:=0; b:=1;
    while x>0 do
      begin
      a:=a+1;
      b:=b*(x mod 10);
      x:= x div 10
    end;
    writeln(a); write(b)
    end.
    Си
    #include<stdio.h>
    int main(void)
    {
    int x, a, b;
    scanf("%d", &x);
    a = 0;
    b = 1;
    while (x > 0){
      a = a + 1;
      b = b * (x % 10);
      x = x / 10;
    }
    printf("%d\n%d", a, b);
    }

  10. Демо 2014 (B8). Ниже на четырёх языках записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа: a и b. Укажите наименьшее из таких чисел x, при вводе которых алгоритм печатает сначала 13, а потом 5.
    БейсикПаскаль
    DIM X, A, B, C AS INTEGER
    INPUT X
    A = 0: B = 10
    WHILE X > 0
      C = X MOD 10
      A = A + C
      IF C < B THEN B = C
      X = X \ 10
    WEND
    PRINT A
    PRINT B
    var x, a, b, c: integer;
    begin
    readln(x);
    a := 0; b := 10;
    while x>0 do
    begin
      c := x mod 10;
      a := a+c;
      if c<b then b := c;
      x := x div 10;
    end;
    writeln(a); write(b);
    end.
    СиАлгоритмический язык
    #include<stdio.h>
    void main()
    {
    int x, a, b, c;
    scanf("%d", &x);
    a = 0; b = 10;
    while (x>0) {
      c = x%10;
      a = a+c;
      if (c<b)
        b = c;
      x = x/10;
    }
    printf("%d\n%d", a, b);
    }
    алг
    нач
    цел x, a, b, c
    ввод x
    a := 0; b := 10
    нц пока x>0
      c := mod(x,10)
      a := a+c
      если c<b
        то b := c
      все
      x := div(x,10)
    кц
    вывод a, нс, b
    кон

  11. Демо 2013 (B5). Определите, что будет напечатано в результате выполнения программы (записанной ниже на разных языках программирования).
    БейсикПаскаль
    DIM N, S AS INTEGER
    N = 0
    S = 0
    WHILE S <= 35
      N = N + 1
      S = S + 4
    WEND
    PRINT N
    var n, s: integer;
    begin
    n := 0;
    s := 0;
    while s <= 35 do
    begin
      n := n + 1;
      s := s + 4
    end;
    write(n)
    end.
    СиАлгоритмический язык
    #include<stdio.h>
    void main()
    {
    int n, s;
    n = 0;
    s = 0;
    while (s <= 35)
    {
      n = n + 1;
      s = s + 4;
    }
    printf("%d", n);
    }
    алг
    нач
    цел n, s
    n := 0
    s := 0
    нц пока s <= 35
      n := n + 1
      s := s + 4
    кц
    вывод n
    кон

  12. Демо 2013 (B8). Ниже на четырёх языках записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа: a и b. Укажите наименьшее из таких чисел x, при вводе которых алгоритм печатает сначала 2, а потом 21.
    БейсикПаскаль
    DIM X, A, B AS INTEGER
    INPUT X
    A=0: B=1
    WHILE X > 0
      A = A+1
      B = B*(X MOD 10)
      X = X \ 10
    WEND
    PRINT A
    PRINT B
    var x, a, b: integer;
    begin
    readln(x);
    a:=0; b:=1;
    while x>0 do
    begin
      a:=a+1;
      b:=b*(x mod 10);
      x:= x div 10
    end;
    writeln(a); write(b);
    end.
    СиАлгоритмический язык
    #include<stdio.h>
    void main()
    {
    int x, a, b;
    scanf("%d", &x);
    a=0; b=1;
    while (x>0){
      a=a+1;
      b=b*(x%10);
      x= x/10;
    }
    printf("%d\n%d", a, b);
    }
    алг
    нач
    цел x, a, b
    ввод x
    a:=0; b:=1
    нц пока x>0
      a:=a+1
      b:=b*mod(x,10)
      x:=div(x,10)
    кц
    вывод a, нс, b
    кон

  13. Демо 2012 (B7). Ниже на 4-х языках записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа L и M. Укажите наибольшее из таких чисел x, при вводе которых алгоритм печатает сначала 3, а потом 7.
    БейсикПаскаль
    DIM X, L, M AS INTEGER
    INPUT X
    L=0: M=0
    WHILE X > 0
      L = L+1
      IF M < (X MOD 10) THEN
        M = X MOD 10
      ENDIF
      X = X \ 10
    WEND
    PRINT L
    PRINT M
    var x, L, M: integer;
    begin
    readln(x);
    L := 0; M := 0;
    while x>0 do
    begin
      L := L+1;
      if M < (x mod 10) then
      begin
        M := x mod 10;
      end;
      x := x div 10;
    end;
    writeln(L); write(M);
    end.
    СиАлгоритмический язык
    #include<stdio.h>
    void main()
    {
    int x, L, M;
    scanf("%d", &x);
    L=0; M=0;
    while (x>0){
      L=L+1;
      if M < x % 10 {
        M = x % 10
      }
      x= x/10;
    }
    printf("%d\n%d", L, M);
    }
    алг
    нач
    цел x, L, M
    ввод x
    L := 0; M := 0
    нц пока x>0
      L := L+1
      если M < mod(x,10)
      то
        M := mod(x,10)
      все
      x := div(x,10)
    кц
    вывод L, нс, M
    кон

  14. Демо 2011 (A17). В программе описан одномерный целочисленный массив A с индексами от 0 до 10. Ниже представлен фрагмент этой программы, записанный на разных языках программирования, в котором значения элементов массива сначала задаются, а затем меняются.
    БейсикПаскаль
    FOR i=0 TO 10
      A(i)=i-1
    NEXT i
    FOR i=10 TO 1 STEP -1
      A(i-1)=A(i)
    NEXT i
    for i:=0 to 10 do
      A[i]:=i-1;
    for i:=10 downto 1 do
      A[i-1]:=A[i];
    СиАлгоритмический язык
    for (i=0;i<=10;i++)
    A[i]=i-1;
    for (i=10;i>=1;i--)
    A[i-1]=A[i];
    нц для i от 0 до 10
    A[i]:=i-1
    кц
    нц для i от 10 до 1 шаг -1
    A[i-1]:=A[i]
    кц
    Чему окажутся равны элементы этого массива?
    1) 9 9 9 9 9 9 9 9 9 9 9
    2) 0 1 2 3 4 5 6 7 8 9 9
    3) 0 1 2 3 4 5 6 7 8 9 10
    4) -1 -1 0 1 2 3 4 5 6 7 8
  15. Демо 2010 ().
  16. Демо 2009 ().
  17. (т2-2012/1).Ниже на 4-х языках записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа a и b. Укажите наименьшее из таких чисел x, при вводе которых алгоритм печатает сначала 2, а потом 10.
    	DIM X, A, B AS INTEGER
    	INPUT X
    	A = 0: B = 0
    	WHILE X > 0
    		A = A + 1
    		B = B + (X MOD 10)
    		X = X \ 10
    	WEND
    	PRINT A
    	PRINT B
    

  18. (т2-2012/2).Ниже на 4-х языках записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа a и b. Укажите наибольшее из таких чисел x, при вводе которых алгоритм печатает сначала 2, а потом 10.
    	DIM X, A, B AS INTEGER
    	INPUT X
    	A = 0: B = 0
    	WHILE X > 0
    		A = A + 1
    		B = B + (X MOD 10)
    		X = X \ 10
    	WEND
    	PRINT A
    	PRINT B
    

  19. с114 (20). Ниже на различных языках программирования записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа a и b. Сколько существует таких чисел x, при вводе которых алгоритм печатает сначала 2, а потом 0?
    БейсикПаскаль
    DIM X, A, B AS INTEGER
    INPUT X
    A = 0: B = 1
    WHILE X > 0
      A = A + 1
      B = B*(X MOD 10)
      X = X\10
    WEND
    PRINT A
    PRINT B
    var x, a, b: integer;
    begin
    readln(x);
    a := 0; b := 1;
    while x > 0 do
    begin
      a := a+1;
      b := b*(x mod 10);
      x := x div 10;
    end;
    writeln(a); write(b);
    end.
    СиАлгоритмический язык
    #include<stdio.h>
    int main()
    {
    int x, a, b;
    scanf("%d", &x);
    a = 0; b = 1;
    while (x > 0){
      a = a+1;
      b = b*(x%10);
      x = x/10;
    }
    printf("%d\n%d", a, b);
    return 0;
    }
    алг
    нач
    цел x, a, b
    ввод x
    a := 0; b := 1
    нц пока x > 0
      a := a+1
      b := b*mod(x,10)
      x := div(x,10)
    кц
    вывод a, нс, b
    кон
    Python
    x=int(input())
    a=0; b=1
    while x > 0:
      a = a+1
      b = b*(x%10)
      x = x//10
    print(a,"\n",b)

  20. с124 (20). Ниже на различных языках программирования записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа a и b. Сколько существует таких чисел x, при вводе которых алгоритм печатает сначала 2, а потом 24?
    БейсикПаскаль
    DIM X, A, B AS INTEGER
    INPUT X
    A = 0: B = 1
    WHILE X > 0
      A = A + 1
      B = B*(X MOD 10)
      X = X\10
    WEND
    PRINT A
    PRINT B
    var x, a, b: integer;
    begin
    readln(x);
    a := 0; b := 1;
    while x > 0 do
    begin
      a := a+1;
      b := b*(x mod 10);
      x := x div 10;
    end;
    writeln(a); write(b);
    end.
    СиАлгоритмический язык
    #include<stdio.h>
    int main()
    {
    int x, a, b;
    scanf("%d", &x);
    a = 0; b = 1;
    while (x > 0){
      a = a+1;
      b = b*(x%10);
      x = x/10;
    }
    printf("%d\n%d", a, b);
    return 0;
    }
    алг
    нач
    цел x, a, b
    ввод x
    a := 0; b := 1
    нц пока x > 0
      a := a+1
      b := b*mod(x,10)
      x := div(x,10)
    кц
    вывод a, нс, b
    кон
    Python
    x=int(input())
    a=0; b=1
    while x > 0:
      a = a+1
      b = b*(x%10)
      x = x//10
    print(a,"\n",b)

  21. с113 (20). Ниже на пяти языках записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа a и b. Укажите наименьшее из таких чисел x, при вводе которых алгоритм печатает сначала 3, а потом 16.
    БейсикПаскаль
    DIM X, A, B, D AS INTEGER
    INPUT X
    A = 0; B = 0; D = 0
    WHILE X > 0
      IF (D MOD 2) = 0 THEN
        A = A + (X MOD 10)
      ELSIF
        B = B + (X MOD 10)
      END IF
      X = X \ 10
      D = D + 1
    WEND
    PRINT A
    PRINT B
    program B14;
    var x, a, b, d: integer;
    begin
    readln(x);
    a := 0; b := 0; d := 0;
    while x > 0 do
    begin
      if d mod 2= 0 then
        a := a+ x mod 10
      else
        b := b+ x mod 10;
      x := x div 10;
      d:=d+1
      end;
    writeln(a); write(b);
    end.
    СиАлгоритмический язык
    #include
    int main(){
    int x, a, b, d;
    scanf("%d", &x);
    a = 0; b = 0; d = 0;
    while (x > 0) {
      if (d%2 == 0) {
        a = a+x%10;
      }
      else{
        b = b+x%10;
      }
      x = x / 10;
      d++;
    }
    printf("%d\n%d", a, b);
    return 0;
    }
    алг
    нач
    цел x, a, b, d
    ввод x
    a := 0; b := 0; d := 0
    нц пока x > 0
      если mod(d,2)=0 то
        a := a + mod(x,10)
      иначе
        b := b + mod(x,10)
      все
      x := div(x,10)
      d:=d+1
    кц
    вывод a, нс, b
    кон
    Python
    x = int(input())
    a=0; b=0; d = 0
    while x>0:
      if d%2==0:
        a += x%10
      else:
        b += x%10
      x = x//10
      d = d+1
    print(a, "\n", b)

  22. с123 (20). Ниже на пяти языках записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа a и b. Укажите наименьшее из таких чисел x, при вводе которых алгоритм печатает сначала 4, а потом 17.
    БейсикПаскаль
    DIM X, A, B, D AS INTEGER
    INPUT X
    A = 0; B = 0; D = 0
    WHILE X > 0
      IF (D MOD 2) = 0 THEN
        A = A + (X MOD 10)
      ELSIF
        B = B + (X MOD 10)
      END IF
      X = X \ 10
      D = D + 1
    WEND
    PRINT A
    PRINT B
    program B15;
    var x, a, b, d: integer;
    begin
    readln(x);
    a := 0; b := 0; d := 0;
    while x > 0 do
    begin
      if d mod 2 = 0 then
        a := a + x mod 10
      else
        b := b + x mod 10;
      x := x div 10;
      d:=d + 1
    end;
    writeln(a); write(b);
    end.
    СиАлгоритмический язык
    #include <stdio.h>
    int main(){
    int x, a, b, d;
    scanf("%d", &x);
    a = 0; b = 0; d = 0;
    while (x > 0) {
      if (d%2 == 0) {
        a = a+x%10;
      }
      else{
        b = b+x%10;
      }
      x = x / 10;
      d++;
    }
    printf("%d\n%d", a, b);
    return 0;
    }
    алг
    нач
    цел x, a, b, d
    ввод x
    a := 0; b := 0; d := 0
    нц пока x > 0
      если mod(d,2)=0 то
        a := a + mod(x,10)
      иначе
        b := b + mod(x,10)
      все
      x := div(x,10)
      d:=d+1
    кц
    вывод a, нс, b
    кон
    Python
    x = int(input())
    a=0; b=0; d = 0
    while x>0:
      if d%2==0:
        a += x%10
      else:
        b += x%10
      x = x//10
      d = d+1
    print(a, "\n", b)

  23. с112 (20).
  24. с122 (20).
  25. ш115 (20).
  26. ш125 (20).
  27. ш114 (20).
  28. ш124 (20).
  29. ш113 (20).
  30. ш123 (20).
  31. ш112 (20).
  32. ш122 (20).
  33. ш111 (20).
  34. ш121 (20).

Copyright © 1993–2021 Мацкявичюс Д.А. Все права защищены.
Никакая часть сайта не может быть воспроизведена никаким способом без письменного разрешения правообладателя и явной ссылки на данный ресурс.