В начало страницы

Тема 22

Учитываемые варианты

Различие заданий

(Подсказка: для перехода к заданию нажмите на его название или на его линию.)

Максимальное допустимое различие в подтеме: 0.5. Выбрать другое: 0.35, 0.65.

Подтема 1

Задание 1.1 (ДЕМО-2017, №11356)

Варианты

Текст задания

Ниже на пяти языках программирования записан алгоритм. Получив на вход натуральное число 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)

ПаскальАлгоритмический язык

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.

алг

нач

    цел x, d, R

    ввод x

    R := 0

    нц пока x>0

        d := mod(x, 10)

        R := 10*R + d

        x := div(x, 10)

    кц

    вывод R

кон

Си++

#include <iostream>

using namespace std;

int main()

{

    long x,d,R;

    cin >> x;

    R = 0;

    while (x>0)

        {

            d = x % 10;

            R = 10*R + d;

            x = x / 10;

        }

    cout << R << endl;

    return 0;

}

 

Подтема 2

Задание 2.1 (ОСН-2016, №11316)

Варианты

Текст задания ( )

Ниже на пяти языках программирования записан алгоритм. Получив на вход число x, этот алгоритм печатает число M. Известно, что x > 100. Укажите наименьшее такое (т. е. большее 100) число x, при вводе которого алгоритм печатает 60.

 

 

БейсикPython

DIM X, L, M AS INTEGER

INPUT X

L = X - 30

M = X + 30

WHILE L <> M

  IF L > M THEN

    L = L – M

  ELSE

    M = M – L

  END IF

WEND

PRINT M

x = int(input())

L = x-30

M = x+30

while L != M:

    if L > M:

        L = L - M

    else:

        M = M - L

print(M)

Алгоритмический языкПаскаль

алг

нач

цел x, L, M

ввод x

L := x-30

M := x+30

нц пока L <> M

если L > M

то L := L – M

иначе M := M – L

все

кц

вывод M

кон

var x, L, M: integer;

begin

  readln(x);

  L := x-30;

  M := x+30;

  while L <> M do begin

    if L > M

      then L := L - M

      else M := M – L;

  end;

  writeln(M);

end.

Си++

#include <iostream>

using namespace std;

int main()

{

  int x, L, M;

  cin >> x;

  L = x-30;

  M = x+30;

  while (L != M) {

    if(L > M) L = L - M;

    else M = M - L;

  }

  cout « M « endl;

  return 0;

}

 

Задание 2.2 (ДЕМО-2016, №9371)

Варианты

Текст задания ( )

Ниже на пяти языках программирования записан алгоритм. Получив на вход число 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)

ПаскальАлгоритмический язык

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.

 

алг

нач

    цел 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

кон

Си++

#include <iostream>

using namespace std;

int main()

{

    int x, L, M;

    cin >> x;

    L = x;

    M = 65;

    if (L % 2 == 0)

        M = 52;

    while (L != M){

        if(L > M)

            L = L - M;

        else

            M = M - L;

    }

    cout << M << endl;

}

 

Задание 2.3 (ОСН-2019, №18826)

Варианты

Текст задания ( )

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

 

 

БейсикPython

DIM X, L, M, K AS INTEGER

INPUT X

K = 9

L = 0

WHILE X >= K

    L = L + 1

    X = X - K

WEND

M = X

IF M < L THEN

    M = L

    L = X

ENDIF

PRINT L

PRINT M

x = int(input())

K = 9

L = 0

while x >= K:

    L = L + 1

    x = x - K

M = x

if M < L:

    M = L

    L = x

print(L)

print(M)

ПаскальАлгоритмический язык

var x, L, M, K: integer;

begin

    readln(x);

    K := 9;

    L := 0;

    while x >= K do

    begin

        L := L + 1;

        x := x - K;

    end;

    M := x;

    if M < L then

    begin

        M := L;

        L := x;

    end;

    writeln(L);

    writeln(M);

end.

алг

нач

    цел x, L, M, K

    ввод x

    K := 9

    L := 0

    нц пока x >= K

        L := L + 1

        x := x - K

    кц

    M := x

    если M < L

        то

            M := L

            L := x

    все

    вывод L, нс, M

кон

Си++

#include <iostream>

using namespace std;

int main()

{

    int x, L, M, K;

    cin >> x;

    K = 9;

    L = 0;

    while (x >= K){

        L = L + 1;

        x = x - K;

    }

    M = x;

    if(M < L){

        M = L;

        L = x;

    }

    cout << L << endl << M endl;

}

 

Задание 2.4 (ДЕМО-2021, №27419)

Варианты

Текст задания ( )

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

 

БейсикPython

DIM X, L, M, Q AS INTEGER

INPUT X

Q = 9

L = 0

WHILE X >= Q

    L = L + 1

    X = X - Q

WEND

M = x

IF M < L THEN

    M = L

    L = X

ENDIF

PRINT L

PRINT M

x = int(input())

Q = 9

L = 0

while x >= Q:

    L = L + 1

    x = x - Q

M = x

if M < L:

    M = L

    L = x

print(L)

print(M)

ПаскальАлгоритмический язык

var x, L, M, Q: integer;

begin

    readln(x);

    Q := 9;

    L := 0;

    while x >= Q do begin

        L := L + 1;

        x := x - Q;

    end;

    M := x;

    if M < L then begin

        M := L;

        L := x;

    end;

    writeln(L);

    writeln(M);

end.

алг

нач

    цел x, L, M, Q

    ввод x

    Q := 9

    L := 0

    нц пока x >= Q

        L := L + 1

        x := x - Q

    кц

    M := x

    если M < L

        то

            M := L

            L := x

    все

    вывод L, нс, M

кон

Си++

#include <iostream>

using namespace std;

 

int main()

{

    int x, L, M, Q;

    cin >> x;

    Q = 9;

    L = 0;

    while (x >= Q){

        L = L + 1;

        x = x - Q;

    }

    M = x;

    if (M < L){

        M = L;

        L = x;

    }

    cout << L << endl << M << endl;

    return 0;

}

 

Задание 2.5 (ОСН-2019, №13366)

Варианты

Текст задания ( )

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

 

БейсикPython

DIM X, L, M, Q AS INTEGER

INPUT X

Q = 6

L = 0

WHILE X >= Q

    L = L + 1

    X = X - Q

WEND

M = X

IF M < L THEN

    M = L

    L = X

ENDIF

PRINT L

PRINT M

x = int(input())

Q = 6

L = 0

while x >= Q:

    L = L + 1

    x = x - Q

M = x

if M < L:

    M = L

    L = x

print(L)

print(M)

ПаскальАлгоритмический язык

var x, L, M, Q: integer;

begin

    readln(x);

    Q := 6;

    L := 0;

    while x >= Q do

    begin

        L := L + 1;

        x := x - Q;

    end;

    M := x;

    if M < L then

    begin

        M := L;

        L := x;

    end;

    writeln(L);

    writeln(M);

end.

алг

нач

    цел x, L, M, Q

    ввод x

    Q := 6

    L := 0

    нц пока x >= Q

        L := L + 1

        x := x - Q

    кц

    M := x

    если M < L

        то

            M := L

            L := x

    все

    вывод L, нс, M

кон

Си++

#include <iostream>

using namespace std;

int main()

{

    int x, L, M, Q;

    cin >> x;

    Q = 6;

    L = 0;

    while (x >= Q){

        L = L + 1;

        x = x - Q;

    }

    M = x;

    if(M < L){

        M = L;

        L = x;

    }

    cout << L << endl << M << endl;

}

 

Задание 2.6 (ОСН-2019, №18722)

Варианты

Текст задания ( )

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

 

БейсикPython

DIM X, L, M, Q AS INTEGER

INPUT X

Q = 6

L = 0

WHILE X >= Q

    L = L + 1

    X = X - Q

WEND

M = X

IF M < L THEN

    M = L

    L = X

ENDIF

PRINT L

PRINT M

x = int(input())

Q = 6

L = 0

while x >= Q:

    L = L + 1

    x = x - Q

M = x

if M < L:

    M = L

    L = x

print(L)

print(M)

ПаскальАлгоритмический язык

var x, L, M, Q: integer;

begin

    readln(x);

    Q := 6;

    L := 0;

    while x >= Q do

    begin

        L := L + 1;

        x := x - Q;

    end;

    M := x;

    if M < L then

    begin

        M := L;

        L := x;

    end;

    writeln(L);

    writeln(M);

end.

алг

нач

    цел x, L, M, Q

    ввод x

    Q := 6

    L := 0

    нц пока x >= Q

        L := L + 1

        x := x - Q

    кц

    M := x

    если M < L

        то

            M := L

            L := x

    все

    вывод L, нс, M

кон

Си++

#include <iostream>

using namespace std;

int main()

{

    int x, L, M, Q;

    cin >> x;

    Q = 6;

    L = 0;

    while (x >= Q){

        L = L + 1;

        x = x - Q;

    }

    M = x;

    if(M < L){

        M = L;

        L = x;

    }

    cout << L << endl << M << endl;

}

 

Задание 2.7 (ОСН-2018, №15988)

Варианты

Текст задания ( )

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

 

 

БейсикPython

DIM X, L, M AS INTEGER

INPUT X

L = 0: M = 1

WHILE X > 0

    L = L + 1

    IF X MOD 2 > 0 THEN

        M = M * (X MOD 8)

    END IF

    X = X \ 8

WEND

PRINT M

PRINT L

 

x = int(input())

l=0; m=1

while x > 0:

    l += 1

    if x%2 > 0:

        m *= x%8

    x = x//8

print(m, l)

 

ПаскальАлгоритмический язык

var x, L, M: longint;

begin

    readln(x);

    L := 0; M := 1;

    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(M); write(L);

end.

 

алг

нач

    цел x, L, M

    ввод x

    L := 0; M := 1

    нц пока x > 0

        L := L + 1;

        если mod(x,2)<>0

            то M := M * mod(x,8)

        все x := div(x,8)

    кц

    вывод M, нс, L

кон

 

С++

#include <iostream>

using namespace std;

int main()

{

    int x, L, M;

    cin >> x;

    L = 0; M = 1;

    while (x > 0) {

        L++;

        if (x%2 > 0)

            M *= x%8;

        x = x / 8;

    }

    cout << M << endl << L << endl;

    return 0;

}

 

 

Задание 2.8 (ДОСР-2018, №15636)

Варианты

Текст задания ( )

Укажите наибольшее десятичное число, при вводе которого на экране сначала напечатается 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)

ПаскальАлгоритмический язык

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.

алг

нач

     цел x, L, M

     ввод x

     L := 0

     M := 0

    нц пока x > 0

        L := L + 1

         если mod(x,2) <> 0

            то

             M:= M + mod (x,8);

        x := div(x,8)

        все

     кц

     вывод L, нс, 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;

}

 

Задание 2.9 (ДОСР-2020, №25850)

Варианты

Текст задания ( )

Ниже на пяти языках программирования записан алгоритм. Получив на вход число натуральное десятичное x, этот алгоритм печатает два числа: L и M. Укажите наибольшее число x, при вводе которого алгоритм печатает сначала 12, а потом 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

    ENDIF

    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)

ПаскальАлгоритмический язык

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); write(M);

end.

алг

нач

     цел 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

кон

Си++

#include <iostream>

using namespace std;

 

int main(void) {

    int L, M, x;

    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 << “ “ << M;

}

 

Задание 2.10 (ДОСР-2020, №23918)

Варианты

Текст задания ( )

Ниже на пяти языках программирования записан алгоритм. Получив на вход число натуральное десятичное x, этот алгоритм печатает два числа: L и M. Укажите наибольшее число x, при вводе которого алгоритм печатает сначала 2, а потом 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

    ENDIF

    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)

ПаскальАлгоритмический язык

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); write(M);

end.

алг

нач

     цел 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

кон

Си++

#include <iostream>

using namespace std;

 

int main(void) {

    int L, M, x;

    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 << “ “ << M;

}

 

Задание 2.11 (ДОСР-2018, №15860)

Варианты

Текст задания ( )

Ниже на пяти языках программирования записан алгоритм. Получив на вход натуральное десятичное число 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

    ENDIF

    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)

ПаскальАлгоритмический язык

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); write(M);

end.

алг

нач

     цел 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

кон

Си++

#include <iostream>

using namespace std;

 

int main(void) {

    int L, M, x;

    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 << “ “ << M;

}

 

Задание 2.12 (ОСН-2020, №26992)

Варианты

Текст задания ( )

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

 

БейсикPython

DIM X, L, M AS INTEGER

INPUT X

L = 1

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 M

PRINT L

x = int(input())

L = 1

M = 0

while x > 0:

     M = M + 1

     if x % 2 == 0:

      L = L * (x % 8)

     x = x // 8

print(M)

print(L)

ПаскальАлгоритмический язык

var x, L, M: integer;

begin

     readln(x);

     L := 1;

     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(M);

    writeln(L);

end.

алг

нач

     цел x, L, M

     ввод x

     L := 1

     M := 0

    нц пока x > 0

        M := M + 1

         если mod(x,2) = 0

            то

             L := L * mod(x,8)

        все

        x := div(x,8)

     кц

     вывод M, нс, L

кон

Си++

#include <iostream>

using namespace std;

 

int main(){

     int x, L, M;

     cin >> x;

     L = 1;

     M = 0;

     while (x > 0) {

          M = M + 1;

          if(x % 2 == 0) {

             L = L * (x % 8);

          }

          x = x / 8;

        }

        cout << M << endl << L << endl;

        return 0;

}

 

Задание 2.13 (ДЕМО-2019, №16047)

Варианты

Текст задания ( )

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

 

БейсикPython

DIM X, L, M AS INTEGER

INPUT X

L = 1

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 = 1

M = 0

while x > 0:

     M = M + 1

     if x % 2 != 0:

      L = L * (x % 8)

     x = x // 8

print(L)

print(M)

ПаскальАлгоритмический язык

var x, L, M: integer;

begin

     readln(x);

     L := 1;

     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.

алг

нач

     цел x, L, M

     ввод x

     L := 1

     M := 0

    нц пока x > 0

        M := M + 1

         если mod(x,2) <> 0

            то

             L := L * mod(x,8)

        все

        x := div(x,8)

     кц

     вывод L, нс, M

кон

Си++

#include <iostream>

using namespace std;

 

int main(){

     int x, L, M;

     cin >> x;

     L = 1;

     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;

}

 

Задание 2.14 (ОСН-2020, №26963)

Варианты

Текст задания ( )

Ниже приведён алгоритм. Укажите наибольшее число x, при вводе которого алгоритм напечатает сначала 10, потом 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)

ПаскальАлгоритмический язык

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.

алг

нач

     цел 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

кон

Си++

#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;

}

 

Задание 2.15 (ДЕМО-2018, №13747)

Варианты

Текст задания ( )

Ниже на пяти языках программирования записан алгоритм. Получив на вход число 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)

ПаскальАлгоритмический язык

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.

алг

нач

     цел 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

кон

Си++

#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;

}

 

Задание 2.16 (ОСН-2019, №18799)

Варианты

Текст задания ( )

Ниже на пяти языках программирования записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа: L и M. Укажите наибольшее число x, при вводе которого алгоритм печатает сначала 3, а потом 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)

 

ПаскальАлгоритмический язык

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.

 

алг

нач

    цел 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

кон

 

С++

#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;

}

 

 

Задание 2.17 (ДОСР-2019, №18448)

Варианты

Текст задания ( )

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

 

 

Бейсик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)

 

ПаскальАлгоритмический язык

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.

 

алг

нач

    цел 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

кон

 

С++

#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;

}

 

 

Задание 2.18 (ДЕМО-2020, №19069)

Варианты

Текст задания ( )

Ниже на пяти языках программирования записан алгоритм. Получив на вход число 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)

ПаскальАлгоритмический язык

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.

алг

нач

    цел 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

кон

Си++

#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;

}

 

Задание 2.19 (ДОСР-2015, №8108)

Варианты

Текст задания ( )

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

 

Бейсик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)

ПаскальАлгоритмический язык

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.

алг

нач

    цел 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

кон

Си++

 

#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;

}

 

Задание 2.20 (ДОСР-2019, №18089)

Варианты

Текст задания ( )

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

 

 

Бейсик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)

 

ПаскальАлгоритмический язык

var x, L, M: longint;

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); write(M);

end.

 

алг

нач

    цел 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

кон

 

С++

#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;

}

 

 

Задание 2.21 (ДОСР-2021, №36035)

Варианты

Текст задания ( )

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

 

C++Python

#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;

}

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)

 

 

ПаскальАлгоритмический язык

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.

 

алг

нач

    цел 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

кон

Подтема 3

Задание 3.1 (ОСН-2021, №37157)

Варианты

Текст задания ( )

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

 

C++Python

#include <iostream>

using namespace std;

 

int main()

{

    int a = 0, b = 0, x;

    cin >> x;

    while (x > 0) {

        int c = x % 10;

        a = a + c;

        if(b < c) b = c;

        x = x / 10;

    }

    cout << a << endl << b;

    return 0;

}

x = int(input())

a, b = 0, 0

while x > 0:

    c = x % 10

    a = a + c

    if b < c:

        b = c

    x = x // 10

print(a)

print(b)

ПаскальАлгоритмический язык

var x, c, a, b: longint;

begin

    readln(x);

    a := 0; b := 0;

    while x > 0 do begin

        c := x mod 10;

        a := a + c;

        if b < c then b := c;

        x := x div 10;

    end;

    writeln(a);

    write(b);

end.

алг

нач

    цел x, a, b, c

    a := 0

    b := 0

    нц пока x > 0

        c := mod(c, 10)

        a := a + c

        если b < c то

            b := c

        конец если

        x := div(x, 10)

    кц

    вывод a

    вывод b

кон