Вход   →
Осталось
4 часа
Демонстрационный вариант

Часть 1

Ответами к заданиям 1–23 являются число, последовательность букв или цифр, которые следует записать в БЛАНК ОТВЕТОВ № 1 справа от номера соответствующего задания, начиная с первой клеточки, без пробелов, запятых и других дополнительных символов. Каждый символ пишите в отдельной клеточке в соответствии с приведёнными в бланке образцами. 

Скачать pdf
  1. Вычислите значение выражения 9E16 – 9416.

    В ответе запишите вычисленное значение в десятичной системе счисления.

    Ответ
  2. Миша заполнял таблицу истинности функции (¬x /\ ¬y) \/ (y≡z) \/ ¬w, но успел заполнить лишь фрагмент из трёх различных её строк, даже не указав, какому столбцу таблицы соответствует каждая из переменных w, x, y, z.

            x /\ ¬y) \/ (y≡z) \/ ¬w
    0   0 1 0
      0   1 0
    0 1 1   0

     

    Определите, какому столбцу таблицы соответствует каждая из переменных w, x, y, z.

     

    В ответе напишите буквы w, x, y, z в том порядке, в котором идут соответствующие им столбцы (сначала буква, соответствующая первому столбцу; затем буква, соответствующая второму столбцу, и т.д.). Буквы в ответе пишите подряд, никаких разделителей между буквами ставить не нужно.

     

    Пример. Если бы функция была задана выражением ¬x \/ y, зависящим от двух переменных, а фрагмент таблицы имел бы вид

        ¬x \/ y
    ??? ??? F
    0 1 0

     

    то первому столбцу соответствовала бы переменная y, а второму столбцу – переменная x. В ответе следовало бы написать yx.

    Ответ
  3. На рисунке слева изображена схема дорог Н-ского района, в таблице звёздочкой обозначено наличие дороги из одного населённого пункта в другой. Отсутствие звёздочки означает, что такой дороги нет.

    схема дорог Н-ского района, в таблице звёздочкой обозначено наличие дороги из одного населённого пункта в другой

    Каждому населённому пункту на схеме соответствует его номер в таблице, но неизвестно, какой именно номер. Определите, какие номера населённых пунктов в таблице могут соответствовать населённым пунктам B и C на схеме. В ответе запишите эти два номера в возрастающем порядке без пробелов и знаков препинания.

    Ответ
  4. Ниже представлены два фрагмента таблиц из базы данных о жителях микрорайона. Каждая строка таблицы 2 содержит информацию о ребёнке и об одном из его родителей. Информация представлена значением поля ID в соответствующей строке таблицы 1. На основании приведённых данных определите наибольшую разницу между годами рождения родных сестёр. При вычислении ответа учитывайте только информацию из приведённых фрагментов таблиц.

     

    Примечание. Братьев (сестёр) считать родными, если у них есть хотя бы один общий родитель.

    два фрагмента таблиц из базы данных о жителях микрорайона

    Ответ
  5. Для кодирования некоторой последовательности, состоящей из букв А, Б, В, Г, Д, Е, решили использовать неравномерный двоичный код, удовлетворяющий условию Фано. Для буквы А использовали кодовое слово 0; для буквы Б – кодовое слово 10. Какова наименьшая возможная сумма длин кодовых слов для букв В, Г, Д, Е?

     

    Примечание. Условие Фано означает, что никакое кодовое слово не является началом другого кодового слова. Это обеспечивает возможность однозначной расшифровки закодированных сообщений.

    Ответ
  6. На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.

    1) Строится двоичная запись числа N.

    2) К этой записи дописываются справа ещё два разряда по следующему правилу:

        а) если N чётное, в конец числа (справа) дописывается сначала ноль, а затем единица.

        б) если N нечётное, справа дописывается сначала единица, а затем ноль.

    Например, двоичная запись 100 числа 4 будет преобразована в 10001, а двоичная запись 111 числа 7 будет преобразована в 11110.

     

    Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа N) является двоичной записью числа R — результата работы данного алгоритма.

     

    Укажите минимальное число R, которое больше 102 и может являться результатом работы данного алгоритма. В ответе это число запишите в десятичной системе счисления.

    Ответ
  7. Дан фрагмент электронной таблицы. Из ячейки C3 в ячейку D4 была скопирована формула. При копировании адреса ячеек в формуле автоматически изменились. Каким стало числовое значение формулы в ячейке D4?

     

      А B C D E
    1 1 2 3 4 5
    2 20 30 40 50 60
    3 300 400 =$B$3+D2 600 700
    4 4000 5000 6000   8000

     

    Примечание: знак $ обозначает абсолютную адресацию.

    Ответ
  8. Запишите число, которое будет напечатано в результате выполнения следующей программы. Для Вашего удобства программа представлена на пяти языках программирования.

     

     

    Бейсик Python

    DIM N, S AS INTEGER

    S = 0

    N = 75

    WHILE S + N < 150

        S = S + 15

        N = N − 5

    WEND

    PRINT N

     

    s = 0

    n = 75

    while s + n < 150:

        s = s + 15

        n = n − 15

    print(n)

     

     

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

    var n, s: integer;

    begin

        s := 0;

        n := 75;

        while s + n < 150 do

        begin

            s := s + 15;

            n := n − 5;

        end;

        writeln(n);

    end.

     

    алг

    нач

        цел n, s

        s := 0

        n := 75

        нц пока s + n < 150

            s := s + 15

            n := n − 5

        кц

        вывод n

    кон

     

    Си++

    #include <iostream>

    using namespace std;

    int main() {

        int n, s;

        s = 0, n = 75;

        while (s + n < 150) {

            s = s + 15;

            n = n − 5;

        }

        cout << n << endl;

        return 0;

    }

    Ответ
  9. Автоматическая камера производит растровые изображения размером 200×256 пикселей. Для кодирования цвета каждого пикселя используется одинаковое количество бит, коды пикселей записываются в файл один за другим без промежутков. Объём файла с изображением не может превышать 65 Кбайт без учёта размера заголовка файла. Какое максимальное количество цветов можно использовать в палитре?

    Ответ
  10. Вася составляет 5-буквенные слова, в которых есть только буквы З, И, М, А, причём в каждом слове есть ровно одна гласная буква и она встречается ровно 1 раз. Каждая из допустимых согласных букв может встречаться в слове любое количество раз или не встречаться совсем. Словом считается любая допустимая последовательность букв, не обязательно осмысленная. Сколько существует таких слов, которые может написать Вася?

    Ответ
  11. Ниже на пяти языках программирования записан рекурсивный алгоритм F.

     

    Бейсик Python

    DECLARE SUB F(n)

    SUB F(n)

        IF n > 0 THEN

            F(n − 1)

            PRINT n

            F(n − 2)

        END IF

    END SUB

     

    def F(n):

        if n > 0:

            F(n − 1)

            print(n)

            F(n − 2)

     

     

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

    procedure F(n: integer);

    begin

        if n > 0 then begin

            F(n − 1);

            writeln(n);

            F(n − 2)

        end

    end;

     

    алг F(цел n)

    нач

        если n > 0 то

            F(n − 1)

            вывод n

            F(n − 2)

        все

    кон

     

    Си++

    void F(int n) {

        if (n > 0) {

            F(n − 1);

            std: :cout << n;

            F(n − 2);

        }

    }

     

     

    Запишите подряд без пробелов и разделителей все числа, которые будут напечатаны на экране при выполнении вызова F(4). Числа должны быть записаны в том же порядке, в котором они выводятся на экран.

    Ответ
  12. В терминологии сетей TCP/IP маской сети называется двоичное число, определяющее, какая часть IP-адреса узла сети относится к адресу сети, а какая — к адресу самого узла в этой сети. Обычно маска записывается по тем же правилам, что и IP-адрес, — в виде четырёх байтов, причём каждый байт записывается в виде десятичного числа. При этом в маске сначала (в старших разрядах) стоят единицы, а затем с некоторого разряда — нули. Адрес сети получается в результате применения поразрядной конъюнкции к заданным IP-адресу узла и маске.

     

    Например, если IP-адрес узла равен 231.32.255.131, а маска равна 255.255.240.0, то адрес сети равен 231.32.240.0.

     

    Для узла с IP-адресом 117.191.37.84 адрес сети равен 117.191.37.80. Чему равно наименьшее возможное значение последнего (самого правого) байта маски? Ответ запишите в виде десятичного числа.

    Ответ
  13. При регистрации в компьютерной системе каждому пользователю выдаётся пароль, состоящий из 7 символов и содержащий только символы из 26-символьного набора прописных латинских букв. В базе данных для хранения сведений о каждом пользователе отведено одинаковое и минимально возможное целое число байт. При этом используют посимвольное кодирование паролей, все символы кодируют одинаковым и минимально возможным количеством бит. Кроме собственно пароля, для каждого пользователя в системе хранятся дополнительные сведения, для чего выделено целое число байт; это число одно и то же для всех пользователей.

     

    Для хранения сведений о 30 пользователях потребовалось 600 байт. Сколько байт выделено для хранения дополнительных сведений об одном пользователе? В ответе запишите только целое число — количество байт.

    Ответ
  14. Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.

     

    А) заменить (v, w).

    Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды

    заменить (111, 27)

    преобразует строку 05111150 в строку 0527150.

    Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку.

     

    Б) нашлось (v).

    Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка

    исполнителя при этом не изменяется.

     

    Цикл

        ПОКА условие

            последовательность команд

        КОНЕЦ ПОКА

    выполняется, пока условие истинно.

    В конструкции

        ЕСЛИ условие

            ТО команда1

        КОНЕЦ ЕСЛИ

    выполняется команда1 (если условие истинно).

    В конструкции

        ЕСЛИ условие

            ТО команда1

            ИНАЧЕ команда2

        КОНЕЦ ЕСЛИ

    выполняется команда1 (если условие истинно) или команда2 (если условие ложно).

     

    Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из 82 идущих подряд цифр 1? В ответе запишите полученную строку.

     

    НАЧАЛО

        ПОКА нашлось (11111) ИЛИ нашлось (888)

            ЕСЛИ нашлось (11111)

                ТО заменить (11111, 88)

            ИНАЧЕ

                ЕСЛИ нашлось (888)

                    ТО заменить (888, 8)

                КОНЕЦ ЕСЛИ

            КОНЕЦ ЕСЛИ

        КОНЕЦ ПОКА

    КОНЕЦ

    Ответ
  15. На рисунке представлена схема дорог, связывающих города А, Б, В, Г, Д, Е, Ж, З, И, К, Л, М. По каждой дороге можно двигаться только в одном направлении, указанном стрелкой.

    Сколько существует различных путей из города А в город М, проходящих через город Л?

    представлена схема дорог, связывающих города А, Б, В, Г, Д, Е, Ж, З, И, К, Л, М

    Ответ
  16. Значение арифметического выражения 97 + 321 – 9 записали в системе счисления с основанием 3. Сколько цифр «2» содержится в этой записи?

    Ответ
  17. В языке запросов поискового сервера для обозначения логической операции «ИЛИ» используется символ «|», а для обозначения логической операции «И» – символ «&».

    В таблице приведены запросы и количество найденных по ним страниц некоторого сегмента сети Интернет.

     

    Запрос Найдено страниц
    (в сотнях тысяч)
    Горло 35
    Корабль 35
    Нос 40
    Корабль & Нос 20
    Горло & Нос 13
    Горло & Корабль 0

     

    Какое количество страниц (в сотнях тысяч) будет найдено по запросу Горло | Корабль | Нос?

     

    Считается, что все запросы выполнялись практически одновременно, так что набор страниц, содержащих все искомые слова, не изменялся за время выполнения запросов.

    Ответ
  18. Для какого наибольшего целого неотрицательного числа A выражение

    (y + 2x ≠ 48) ∨ (A < x) ∨ (A < y)

    тождественно истинно, то есть принимает значение 1 при любых целых неотрицательных x и y?

    Ответ
  19. В программе используется одномерный целочисленный массив A с индексами от 0 до 9. Значения элементов равны 2, 4, 3, 6, 3, 7, 8, 2, 9, 1 соответственно, т.е. A[0] = 2, A[1] = 4 и т.д.

    Определите значение переменной c после выполнения следующего фрагмента этой программы, записанного ниже на пяти языках программирования.

     

     

     

    Бейсик Python

    c = 0

    FOR i = 1 TO 9

        IF A(i-1) < A(i) THEN

           c = c + 1

           t = A(i)

           A(i) = A(i-1)

           A(i-1) = t

        END IF

    NEXT i

     

    c = 0

    for i in range(1,10):

        if A[i-1] < A[i]:

           c = c + 1

           t = A[i]

           A[i] = A[i-1]

           A[i-1] = t

     

     

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

    c := 0;

    for i := 1 to 9 do

        if A[i-1] < A[i] then

        begin

            c := c + 1;

            t := A[i];

            A[i] := A[i-1];

             A[i-1] := t;

        end;

     

    c := 0

    нц для i от 1 до 9

         если A[i-1] < A[i] то

           c := c + 1

           t := A[i]

           A[i] := A[i-1]

           A[i-1] := t

         все

    кц

     

    Си++

    c = 0;

    for (int i = 1; i < 10; i++) {

         if (A[i-1] < A[i]){

            c++;

            t = A[i];

            A[i] = A[i-1];

            A[i-1] = t;

        }

    }

     

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

    }

    Ответ
  21. Определите число, которое будет напечатано в результате выполнения следующего алгоритма. Для Вашего удобства алгоритм представлен на пяти языках программирования.

    Примечание. Функции abs и iabs возвращают абсолютное значение своего входного параметра.

     

    Бейсик Python

    DIM A, B, T, M, R AS LONG

    A = -20: B = 20

    M = A: R = F(A)

    FOR T = A TO B

        IF F(T) <= R THEN

             M = T

             R = F(T)

        END IF

    NEXT t

    PRINT M+R

     

    FUNCTION F (x)

         F = abs(abs(x − 6) + abs(x + 6) − 16) + 2

    END FUNCTION

     

    def f(x):

         return abs(abs(x − 6) + abs(x + 6) − 16) + 2

    a = -20; b=20

    M=a; R=F(a)

    for t in range(a,b+1):

        if (F(t) <= R):

             M=t; R=F(t)

    print (M+R)

     

     

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

    var a, b, t, M, R :longint;

    function F(x: longint) : longint;

        begin

             F:= abs(abs(x − 6) + abs(x + 6) − 16) + 2;

        end;

    begin

         a:=-20; b:=20;

         M:=a; R:=F(a);

         for t:= a to b do begin

             if (F(t) <= R) then begin

                 M:=t;

                 R:=F(t)

          end

        end;

         write(M+R)

    end.

     

    алг

    нач

        цел a, b, t, M, R

        a:=-20; b:=20

        M:=a; R:=F(a)

        нц для t от a до b

             если F(t) <= R то

                то

                     M:=t; R:=F(t)

            все

        кц

        вывод M+R

    кон

    алг цел F(цел x)

    нач

        знач := iabs(iabs(x − 6) + iabs(x + 6) − 16) + 2

    кон

     

    Си++

    #include <iostream>

    using namespace std;

     

    long F(long x) {

         return abs(abs(x − 6) + abs(x + 6) − 16) + 2;

    }

     

    int main() {

         long a = -20, b = 20, M = a, R = F(a);

         for (int t = a; t <= b; ++t) {

             if (F(t)<= R) {

                M = t; R = F(t);

            }

        }

         cout << M + R;

        return 0;

    }

    Ответ
  22. Исполнитель Вычислитель преобразует число на экране.

    У исполнителя есть три команды, которым присвоены номера:

    1. Прибавить 2
    2. Умножить на 2
    3. Прибавить 3

    Первая команда увеличивает число на экране на 2, вторая умножает его на 2, третье увеличивает его на 3.

     

    Программа для исполнителя Вычислитель — это последовательность команд.

     

    Сколько существует программ, которые преобразуют исходное число 2 в число 22 и при этом траектория вычислений содержит число 11?

    Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы 132 при исходном числе 7 траектория будет состоять из чисел 9, 12, 24.

    Ответ
  23. Сколько существует различных наборов значений логических переменных x1, x2, ...x7y1y2, ...y7, которые удовлетворяют всем перечисленным ниже условиям?

    (y1 → (y2 ∧ x1)) ∧ (x1 → x2) = 1

    (y2 → (y3 ∧ x2)) ∧ (x2 → x3) = 1

                            …

    (y6 → (y7 ∧ x6)) ∧ (x6 → x7) = 1

    y7 → x7 = 1

    В ответе не нужно перечислять все различные наборы значений переменных x1, x2, ...x7y1y2, ...y7, при которых выполнена данная система равенств. В качестве ответа Вам нужно указать количество таких наборов.

    Ответ

Часть 2

Для записи ответов на задания этой части (24–27) используйте БЛАНК ОТВЕТОВ № 2. Запишите сначала номер задания (24, 25 и т. д.), а затем полное решение. Ответы записывайте чётко и разборчиво. 

  1. На обработку поступает натуральное число, не превышающее 109. Нужно написать программу, которая выводит на экран минимальную чётную цифру этого числа. Если в числе нет чётных цифр, требуется на экран вывести «NO». Программист написал программу неправильно. Ниже эта программа для Вашего удобства приведена на пяти языках программирования.

     

    Бейсик Python

    DIM N, DIGIT, MINDIGIT AS LONG

    INPUT N

    MINDIGIT = N MOD 10

    WHILE N > 0

        DIGIT = N MOD 10

        IF DIGIT MOD 2 = 0 THEN

            IF DIGIT < MINDIGIT THEN

                MINDIGIT = DIGIT

            END IF

        END IF

        N = N \ 10

    WEND

    IF MINDIGIT = 0 THEN

        PRINT "NO"

    ELSE

        PRINT MINDIGIT

    END IF

     

    N = int(input())

    minDigit = N % 10

    while N > 0:

        digit = N % 10

        if digit % 2 == 0:

            if digit < minDigit:

                minDigit = digit

        N = N // 10

    if minDigit == 0:

        print("NO")

    else:

        print(minDigit)

     

     

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

    var N,digit,minDigit: longint;

    begin

        readln(N);

        minDigit := N mod 10;

        while N > 0 do

        begin

            digit := N mod 10;

            if digit mod 2 = 0 then

                if digit < minDigit then

                    minDigit := digit;

            N := N div 10;

        end;

        if minDigit = 0 then

            writeln('NO')

        else

            writeln(minDigit)

    end.

     

    алг

    нач

        цел N, digit, minDigit

        ввод N

        minDigit := mod(N,10)

        нц пока N > 0

            digit := mod(N,10)

            если mod(digit, 2) = 0 то

                если digit < minDigit то

                    minDigit := digit

                все

            все

            N := div(N,10)

        кц

        если minDigit = 0 то

            вывод "NO"

        иначе

            вывод minDigit

        все

    кон

     

    Си++

    #include <iostream>

    using namespace std;

     

    int main() {

            long N, digit, minDigit;

            cin >> N;

            minDigit = N % 10;

            while (N > 0) {

                digit = N % 10;

                if (digit % 2 == 0)

                    if (digit < minDigit)

                        minDigit = digit;

                N = N / 10;

            }

            if (minDigit == 0)

                cout << "NO" << endl;

            else

                cout << minDigit << endl;

            return 0;

    }

     

     

    Последовательно выполните следующее.

    1. Напишите, что выведет эта программа при вводе числа 231.
    2. Приведите пример такого трёхзначного числа, при вводе которого приведённая программа, несмотря на ошибки, выдаёт верный ответ.
    3. Найдите допущенные программистом ошибки и исправьте их. Исправление ошибки должно затрагивать только строку, в которой находится ошибка. Для каждой ошибки:

    1) выпишите строку, в которой сделана ошибка;

    2) укажите, как исправить ошибку, т.е. приведите правильный вариант строки.

     

    Известно, что в тексте программы можно исправить ровно две строки так, чтобы она стала работать правильно.

     

    Достаточно указать ошибки и способ их исправления для одного языка программирования.

     

    Обратите внимание на то, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения.

    Ответ
  2. Дан целочисленный массив из 30 элементов. Элементы массива могут принимать натуральные значения от 1 до 10 000 включительно. Опишите на одном из языков программирования алгоритм, который находит минимум среди элементов массива, не делящихся нацело на 6, а затем заменяет каждый элемент, не делящийся нацело на 6, на число, равное найденному минимуму. Гарантируется, что хотя бы один такой элемент в массиве есть. В качестве результата необходимо вывести изменённый массив, каждый элемент выводится с новой строчки.

    Например, для исходного массива из шести элементов:

    14

    6

    11

    18

    9

    24

    программа должна вывести следующий массив:

    9

    6

    9

    18

    9

    24

     

    Исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных.

     

     

    Бейсик Python

    CONST N AS INTEGER = 30

    DIM A (1 TO N) AS LONG

    DIM I AS LONG,

        J AS LONG,

        K AS LONG

     

    FOR I = 1 TO N

        INPUT A(I)

    NEXT I

    ...

    END

     

    # допускается также

    # использовать две

    # целочисленные переменные j и k

    a = []

    n = 30

    for i in range(0, n):

        a.append(int(input()))

    ...

     

     

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

    const

    N = 30;

    var

    a: array [1..N] of longint;

    i, j, k: longint;

    begin

        for i := 1 to N do

            readln(a[i]);

        ...

    end.

     

    алг

    нач

        цел N = 30

        цел таб a[1:N]

        цел i, j, k

        нц для i от 1 до N

            ввод a[i]

        кц

        ...

     

    кон

     

    Си++

    #include <iostream>

    using namespace std;

    const int N = 30;

    int main() {

    long a[N];

    long i, j, k;

        for (i = 0; i<N; i++)

        cin >> a[i];

        ...

        return 0;

    }

     

     

    В качестве ответа Вам необходимо привести фрагмент программы, который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например Free Pascal 2.6). В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии (например, в образце, записанном на Алгоритмическом языке).

    Ответ
  3. Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежат две кучи камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в одну из куч (по своему выбору) один камень или увеличить количество камней в куче в три раза. Например, пусть в одной куче 10 камней, а в другой 7 камней; такую позицию в игре будем обозначать (10, 7). Тогда за один ход можно получить любую из четырёх позиций: (11, 7), (30, 7), (10, 8), (10, 21). Для того чтобы делать ходы, у каждого игрока есть неограниченное количество камней.

     

    Игра завершается в тот момент, когда суммарное количество камней в кучах становится не менее 68. Победителем считается игрок, сделавший последний ход, т.е. первым получивший такую позицию, при которой в кучах будет 68 или больше камней.

     

    В начальный момент в первой куче было шесть камней, во второй куче — S камней; 1 ≤ S ≤ 61.

     

    Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Описать стратегию игрока – значит описать, какой ход он должен сделать в любой ситуации, которая ему может встретиться при различной игре противника. В описание выигрышной стратегии не следует включать ходы играющего по этой стратегии игрока, не являющиеся для него безусловно выигрышными, т.е. не являющиеся выигрышными независимо от игры противника.

     

    Выполните следующие задания.

     

    Задание 1.

    а) Укажите все такие значения числа S, при которых Петя может выиграть за один ход.

    б) Известно, что Ваня выиграл своим первым ходом после неудачного первого хода Пети. Укажите минимальное значение S, когда такая ситуация возможна.

     

    Задание 2. Укажите такое значение S, при котором у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:

    — Петя не может выиграть за один ход;

    — Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.

    Для указанного значения S опишите выигрышную стратегию Пети.

     

    Задание 3. Укажите значение S, при котором одновременно выполняются два условия:

    — у Вани есть выигрышная стратегия, позволяющая ему выиграть первым или вторым ходом при любой игре Пети;

    — у Вани нет стратегии, которая позволит ему гарантированно выиграть первым ходом.

     

    Для указанного значения S опишите выигрышную стратегию Вани.

     

    Постройте дерево всех партий, возможных при этой выигрышной стратегии Вани (в виде рисунка или таблицы).

     

    В узлах дерева указывайте позиции, на рёбрах рекомендуется указывать ходы. Дерево не должно содержать партии, невозможные при реализации выигрывающим игроком своей выигрышной стратегии. Например, полное дерево игры не является верным ответом на это задание.

    Ответ
  4. На вход программы поступает последовательность из N целых положительных чисел, все числа в последовательности различны. Рассматриваются все пары различных элементов последовательности, находящихся на расстоянии не меньше чем 4 (разница в индексах элементов пары должна быть 4 или более, порядок элементов в паре неважен). Необходимо определить количество таких пар, для которых произведение элементов делится на 29.

     

    Описание входных и выходных данных

    В первой строке входных данных задаётся количество чисел N (4 ≤ N ≤ 1000). В каждой из последующих N строк записано одно целое положительное число, не превышающее 10 000.

    В качестве результата программа должна вывести одно число: количество пар элементов, находящихся в последовательности на расстоянии не меньше чем 4, в которых произведение элементов кратно 29.

     

    Пример входных данных:

    7

    58

    2

    3

    5

    4

    1

    29

    Пример выходных данных для приведённого выше примера входных данных:

    5

     

    Пояснение. Из 7 заданных элементов с учётом допустимых расстояний между ними можно составить 6 произведений: 58 · 4, 58 · 1, 58 · 29, 2 · 1, 2 · 29, 3 · 29. Из них на 29 делятся 5 произведений.

     

    Требуется написать эффективную по времени и по памяти программу для решения описанной задачи.

     

    Программа считается эффективной по времени, если при увеличении количества исходных чисел N в k раз время работы программы увеличивается не более чем в k раз.

     

    Программа считается эффективной по памяти, если память, необходимая для хранения всех переменных программы, не превышает 1 Кбайт и не увеличивается с ростом N.

     

    Максимальная оценка за правильную (не содержащую синтаксических ошибок и дающую правильный ответ при любых допустимых входных данных) программу, эффективную по времени и по памяти, – 4 балла.

     

    Максимальная оценка за правильную программу, эффективную только по времени – 3 балла.

     

    Максимальная оценка за правильную программу, не удовлетворяющую требованиям эффективности, – 2 балла.

     

    Вы можете сдать одну программу или две программы решения задачи (например, одна из программ может быть менее эффективна). Если Вы сдадите две программы, то каждая из них будет оцениваться независимо от другой, итоговой станет бо́льшая из двух оценок.

     

    Перед текстом программы обязательно кратко опишите алгоритм решения. Укажите использованный язык программирования и его версию.

    Ответ
Завершить вариант
Демонстрационный вариант
240 минут
на вариант из 27 вопросов
Вернуться назад
Осталось
4 часа 0 минут

Часть 1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

Часть 2

24
25
26
27

Еще нет аккаунта?

Пользователям Бингоскул доступна бесплатная подготовка к ЕГЭ по всем видам ФИПИ, просмотр решений и отслеживание статистики
Регистрация

Уже зарегистрированы?

Авторизуйтесь в своей учетной записи, чтобы получить доступ к расширенным возможностям функционала сайта
Вход

Вход в систему

Регистрация

Регистрируясь, я подтверждаю своё согласие с условиями пользовательского соглашения

Активация аккаунта

Спасибо за регистрацию
Мы отправили письмо на указанный электронный адрес.
Чтобы завершить регистрацию, проверьте почтовый ящик и перейдите по ссылке в письме.