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

Вариант «ЕГЭ — 2017. Досрочная волна по информатике» (ДОСР-2017)

Список тем

1, Д1, 2, 3, 4, 5, 6, 7, Д7, 8, 11, 12, Д12, 13, 14, 15, 16, Д17, Д19, Д21, 22, 23, Д23, Д24 C1, Д25 C2, Д26 C3, Д27 C4

Задания

Задание 1 (тема 1, №13349)

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

На рисунке справа схема дорог Н-ского района изображена в виде графа; в таблице слева содержатся сведения о протяжённости каждой из этих дорог (в километрах).

 

 

 

П1П2П3П4П5П6П7
П120151089
П2201125
П35
П41511
П510576
П68257
П796

 

 

Так как таблицу и схему рисовали независимо друг от друга, то нумерация населённых пунктов в таблице никак не связана с буквенными обозначениями на графе. Определите, какова протяжённость дороги из пункта Д в пункт Е. В ответе запишите целое число — так, как оно указано в таблице.

Задание Д1 (тема Д1, №13347)

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

Сколько существует натуральных чисел x, для которых выполняется неравенство 101101112 < x < 101111112?

В ответе укажите только количество чисел, сами числа писать не нужно.

Задание 2 (тема 2, №13348)

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

Логическая функция F задаётся выражением x ∧ ¬y ∧ (¬zw). На рисунке приведён фрагмент таблицы истинности функции F, содержащий все наборы аргументов, при которых функция F истинна. Определите, какому столбцу таблицы истинности функции F соответствует каждая из переменных w, x, y, z.

 

Перем. 1Перем. 2Перем. 3Перем. 4Функция
????????????F
10001
10101
10111

 

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

 

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

 

Перем. 1Перем. 2Функция
??????F
001
101
111

 

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

Задание 3 (тема 3, №13350)

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

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

 

Таблица 1
IDФамилия_И. О.Пол
16Дурново И. М.Ж
26Виеру А. В.М
27Виеру В. А.М
28Виеру В. В.М
36Аганян Т. А.Ж
37Аганян Б. Г.Ж
38Аганян Г. Г.М
46Баурн А. С.Ж
47Баурн В. А.М
48Альберт К. Г.Ж
49Альберт И. К.М
56Лещенко Н. В.Ж
66Чивадзе Г. В.Ж
.........

Таблица 2
ID_РодителяID_Ребенка
2627
4627
2728
6628
2636
4636
3637
3837
1638
3648
3848
2756
6656
......

Задание 4 (тема 4, №13351)

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

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

 

ЦветКодовое слово
Белый0
Зелёный11111
Красный1110
ЦветКодовое слово
Синий
Фиолетовый11110
Чёрный10

 

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

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

Задание 5 (тема 5, №13352)

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

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

1. прибавь 2,

2. умножь на 5.

Выполняя первую из них, Калькулятор прибавляет к числу на экране 2, а выполняя вторую, умножает его на 5.

Например, программа 2121 – это программа

 

умножь на 5,

прибавь 2,

умножь на 5,

прибавь 2,

которая преобразует число 2 в число 62.

 

Запишите порядок команд в программе, которая преобразует число 1 в число 45 и содержит не более четырёх команд. Указывайте лишь номера команд. Если таких программ более одной, то запишите любую из них.

Задание 6 (тема 6, №13354)

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

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

 

БейсикPython

DIM S, N AS INTEGER

S = 0

N = 0

WHILE S < 71

     S = S + 10

     N = N + 3

WEND

PRINT N

s = 0

n = 0

while s < 71:

    s = s + 10

    n = n + 3

print(n)

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

var s, n: integer;

begin

s := 0;

n := 0;

while s < 71 do

begin

    s := s + 10;

    n := n + 3

end;

writeln(n)

end.

алг

нач

цел n, s

n := 0

s := 0

нц пока s < 71

    s := s + 10

    n := n + 3

кц

вывод n

кон

Си++

#include <iostream>

using namespace std;

int main()

{  int s = 0, n = 0;

    while (s < 71) { s = s + 10; n = n + 3; }

    cout << n << endl;

    return 0;

}

 

Задание 7 (тема 7, №13355)

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

Музыкальный фрагмент был оцифрован и записан в виде файла без использования сжатия данных. Получившийся файл был передан в город А по каналу связи за 15 секунд. Затем тот же музыкальный фрагмент был оцифрован повторно с разрешением в 2 раза выше и частотой дискретизации в 1,5 раза меньше, чем в первый раз. Сжатие данных не производилось. Полученный файл был передан в город Б; пропускная способность канала связи с городом Б в 2 раза выше, чем канала связи с городом А. Сколько секунд длилась передача файла в город Б? В ответе запишите только целое число, единицу измерения писать не нужно.

Задание Д7 (тема Д7, №13353)

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

Дан фрагмент электронной таблицы.

 

ABC
1310
2=(A1-3)/(B1+3)=(A1-2)/(C1-3)= C1/(A1 – 4)

 

Какое целое число должно быть записано в ячейке A1, чтобы диаграмма, построенная по значениям ячеек диапазона A2:С2, соответствовала рисунку? Известно, что все значения ячеек из рассматриваемого диапазона неотрицательны.

Задание 8 (тема 8, №13356)

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

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

Задание 11 (тема 11, №13359)

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

При регистрации в компьютерной системе каждому пользователю выдаётся пароль, состоящий из 15 символов и содержащий только символы из 12-символьного набора: А, В, C, D, Е, F, G, H, K, L, M, N. В базе данных для хранения сведений о каждом пользователе отведено одинаковое и минимально возможное целое число байт. При этом используют посимвольное кодирование паролей, все символы кодируют одинаковым и минимально возможным количеством бит. Кроме собственно пароля, для каждого пользователя в системе хранятся дополнительные сведения, для чего отведено 12 байт на одного пользователя.

Определите объём памяти (в байтах), необходимый для хранения сведений о 100 пользователях. В ответе запишите только целое число — количество байт.

Задание 12 (тема 12, №13360)

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

Система команд исполнителя РОБОТ, “живущего” в прямоугольном лабиринте на клетчатой плоскости, включает в себя 4 команды-приказа

и 4 команды проверки условия.

Команды-приказы:

вверх вниз влево вправо

При выполнении любой из этих команд РОБОТ перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если РОБОТ начнёт движение в сторону находящейся рядом с ним стены,

то он разрушится, и программа прервётся.

Другие 4 команды проверяют истинность условия отсутствия стены у каждой стороны той клетки, где находится РОБОТ:

сверху
свободно
снизу
свободно
слева
свободно
справа
свободно

Цикл

ПОКА условие

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

КОНЕЦ ЦИКЛА

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

 

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

ЕСЛИ условие

ТО команда1

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

КОНЕЦ ЕСЛИ

выполняется команда1 (если условие истинно) или команда2 (если условие ложно). В качестве условий в конструкциях ПОКА и ЕСЛИ допускаются перечисленные выше элементарные условия и их комбинации с помощью союзов И и ИЛИ.

 

Сколько клеток лабиринта соответствуют требованию, что, выполнив предложенную программу, РОБОТ уцелеет и окажется в закрашенной клетке (клетка А1)?

 

НАЧАЛО

ПОКА слева свободно ИЛИ сверху свободно

ЕСЛИ сверху свободно

ТО вверх

ИНАЧЕ влево

КОНЕЦ ЕСЛИ

КОНЕЦ ПОКА

КОНЕЦ

Задание Д12 (тема Д12, №13358)

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

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

Например, если IP-адрес узла равен 231.32.255.131, а маска равна 255.255.240.0, то адрес сети равен 231.32.240.0. Для узла с IP-адресом 147.192.92.64 адрес сети равен 147.192.80.0. Чему равно значение третьего слева байта маски? Ответ запишите в виде десятичного числа.

Задание 13 (тема 13, №13361)

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

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

По каждой дороге можно двигаться только в одном направлении, указанном стрелкой.

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

Задание 14 (тема 14, №13362)

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

Значение арифметического выражения: 125 + 253 + 59 – записали в системе счисления с основанием 5. Сколько значащих нулей содержит эта запись?

Задание 15 (тема 15, №13364)

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

На числовой прямой даны два отрезка: P = [130; 171] и Q = [150; 185]. Укажите наименьшую возможную длину такого отрезка A, что формула

 

(x ∈ P) → (((x ∈ Q) ∧ ¬(x ∈ A)) → ¬(x ∈ P))

 

истинна при любом значении переменной х, т.е. принимает значение 1 при любом значении переменной х.

Задание 16 (тема 16, №13357)

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

Ниже на пяти языках программирования записана рекурсивная функция (процедура) F.

 

БейсикPython

SUB F(n)

  PRINT n,

  IF n >= 3 THEN

    F(n - 1)

    F(n - 3)

  END IF

END SUB

def F(n):

    print(n)

    if n >= 3:

        F(n - 1)

        F(n - 3)

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

procedure F(n: integer);

begin

  write(n);

  if n >= 3 then

  begin

    F(n - 1);

    F(n - 3)

  end

end;

алг F(цел n)

нач

  вывод n

  если n >= 3 то

    F(n - 1)

    F(n - 3)

  все

кон

Си

void F(int n) {

    cout « n « endl;

    if (n >= 3) {

        F(n - 1);

        F(n - 3);

    }

}

 

 

Что выведет программа при вызове F(5)? В ответе запишите последовательность выведенных цифр слитно (без пробелов).

Задание Д17 (тема Д17, №13363)

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

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

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

 

ЗапросНайдено страниц
(в тысячах)
Биология & Физика170
Биология & Химия245
Биология & (Физика | Химия)360

 

Какое количество страниц (в тысячах) будет найдено по запросу Биология & Физика & Химия?

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

Задание Д19 (тема Д19, №13365)

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

В программе используется одномерный целочисленный массив A с индексами от 0 до 10. Ниже представлен записанный на разных языках программирования фрагмент этой программы.

 

БейсикPython

s = 0

n = 10

FOR i = 0 TO n-1

    s = s+A(i)-A(i+1)

NEXT i

s = 0

n = 10

for i in range(n):

    s = s + A[i] – A[i+1]

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

s := 0;

n := 10;

for i:=0 to n-1 do begin

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

end;

s := 0

n := 10

нц для i от 0 до n-1

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

кц

Си++

s = 0;

n = 10;

for (i = 0; i < n; i++) {

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

}

 

 

В начале выполнения этого фрагмента в массиве находились числа 27, 17, 7, 0, 7, 17, 27, 17, 10, 7, 0, т.е. A[0] = 27, A[1] = 17 и т. д. Чему будет равно значение переменной s после выполнения данного фрагмента программы?

Задание Д21 (тема Д21, №13367)

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

Напишите в ответе число, равное количеству различных значений входной переменной k, при которых приведённая ниже программа выводит тот же ответ, что и при входном значении k = 25. Значение k = 25 также включается в подсчёт количества различных значений k. Для Вашего удобства программа приведена на пяти языках программирования.

 

БейсикPython

DIM K, I AS LONG

INPUT K

I = 1

WHILE F(I) < K

    I = I + 1

WEND

IF F(I)-K <= K-F(I-1) THEN

    PRINT I

ELSE

    PRINT I-1

END IF

FUNCTION F(N)

    F = N * N * N

END FUNCTION

def f(n):

    return n*n*n

i = 1

k = int(input())

while f(i) < k:

    i+=1

if (f(i)-k <= k-f(i-1)):

    print (i)

else:

    print (i - 1)

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

var

    k, i : longint;

 

function f(n: longint) : longint;

begin

    f := n * n * n;

end;

begin

    readln(k);

    i := 1;

    while f(i) < k do

        i := i+1;

    if f(i)-k <= k-f(i-1) then

        writeln(i)

    else

        writeln(i-1);

end.

алг

нач

    цел i, k

    ввод k

    i := 1

    нц пока f(i) < k

        i := i + 1

    кц

    если f(i)-k <= k-f(i-1) то

    вывод i

    иначе

        вывод i-1

    все

кон

алг цел f(цел n)

нач

    знач := n * n * n

кон

Си++

#include <iostream>

using namespace std;

long f(long n) {

    return n * n * n;

}

 

int main()

{

    long k, i;

    cin >> k;

    i = 1;

    while (f(i) < k)

        i++;

    if (f(i)-k <= k-f(i-1)){

        cout << i << endl;

    } else {

        cout << i-1 << endl;

    }

}

 

Задание 22 (тема 22, №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;

}

 

Задание 23 (тема 23, №13368)

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

Исполнитель Плюс преобразует число на экране.

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

1. Прибавить 2

2. Прибавить 5

Первая команда увеличивает число на экране на 2, вторая увеличивает это число на 5. Программа для исполнителя Плюс — это последовательность команд.

Сколько существует программ, которые число 1 преобразуют в число 20?

Задание Д23 (тема Д23, №13369)

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

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

 

(x1y1) ≡ (¬x2 ∨ ¬y2)

(x2y2) ≡ (¬x3 ∨ ¬y3)

...

(x6y6) ≡ (¬x7 ∨ ¬y7)

 

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

Задание Д24 C1 (тема Д24 C1, №13370)

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

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

Напоминание: 0 делится на любое натуральное число.

 

БейсикPython

DIM N, DIGIT, SUM AS LONG

INPUT N

SUM = N MOD 10

WHILE N > 0

    DIGIT = N MOD 10

    IF DIGIT MOD 3 > 0 THEN

        SUM = DIGIT

    END IF

    N = N \ 10

WEND

IF SUM > 0 THEN

    PRINT SUM

ELSE

    PRINT "NO"

END IF

N = int(input())

sum = N % 10

while N > 0:

    digit = N % 10

    if digit % 3 > 0:

        sum = digit

    N = N // 10

if sum > 0:

    print(sum)

else:

    print("NO")

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

var N, digit, sum: longint;

begin

    readln(N);

    sum := N mod 10;

    while N > 0 do

    begin

        digit := N mod 10;

        if digit mod 3 > 0 then

            sum := digit;

        N := N div 10;

    end;

    if sum > 0 then

        writeln(sum)

    else

        writeln('NO')

end.

алг

нач

    цел N, digit, sum

    ввод N

    sum := mod(N,10)

    нц пока N > 0

        digit := mod(N,10)

        если mod(digit, 3) > 0 то

            sum := digit

        все

        N := div(N,10)

    кц

    если sum > 0 то

        вывод sum

    иначе

        вывод "NO"

    все

кон

Си++

#include <iostream>

using namespace std;

int main()

{

    int N, digit, sum;

    cin >> N;

    sum = N % 10;

    while (N > 0)

    {

        digit = N % 10;

        if (digit % 3 > 0)

            sum = digit;

        N = N / 10;

    }

    if (sum > 0)

        cout << sum << endl;

    else

        cout << "NO"<< endl;

    return 0;

}

 

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

1. Напишите, что выведет эта программа при вводе числа 645.

2. Приведите пример такого трёхзначного числа, при вводе которого программа выдаёт верный ответ.

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

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

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

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

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

Задание Д25 C2 (тема Д25 C2, №13371)

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

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

Например, для массива из пяти элементов: 6; 1; 4; 6; 10 – ответ: 2. Исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования и естественного языка. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных.

 

БейсикPython

CONST N AS INTEGER = 20

DIM A (1 TO N) AS INTEGER

DIM I AS INTEGER,

    J AS INTEGER,

    K AS INTEGER

FOR I = 1 TO N

    INPUT A(I)

NEXT I

...

END

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

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

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

a = []

n = 20

for i in range(0, n):

    a.append(int(input()))

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

const

    N = 20;

var

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

    i, j, k: integer;

begin

    for i := 1 to N do

        readln(a[i]);

    ...

end.

алг

нач

    цел N = 20

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

    цел i, j, k

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

        ввод a[i]

    кц

    ...

кон

Си++Естественный язык

#include <iostream>

using namespace std;

#define N 20

int main() {

    int a[N];

    int i, j, k;

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

        cin >> a[i];

    ... return 0;

}

Объявляем массив A из 20 элементов.

Объявляем целочисленные переменные I, J, K.

В цикле от 1 до 20 вводим элементы массива A

с 1-го по 20-й.

 

 

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

Задание Д26 C3 (тема Д26 C3, №13372)

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

Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в кучу один камень или увеличить количество камней в куче в два раза. Например, имея кучу из 15 камней, за один ход можно получить кучу из 16 или 30 камней. У каждого игрока, чтобы делать ходы, есть неограниченное количество камней.

Игра завершается в тот момент, когда количество камней в куче становится не менее 65. Победителем считается игрок, сделавший последний ход, т. е. первым получивший кучу, в которой будет 65 или больше камней. В начальный момент в куче было S камней 1 ≤ S ≤ 64.

 

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

Выполните следующие задания. Во всех случаях обосновывайте свой ответ.

Задание 1

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

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

 

Задание 2

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

стратегия, причём одновременно выполнены два условия:

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

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

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

 

Задание 3

Укажите значение S, при котором:

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

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

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

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

Задание Д27 C4 (тема Д27 C4, №13373)

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

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

После окончания эксперимента передаётся контрольное значение — наибольшее число R, удовлетворяющее следующим условиям:

1) R — произведение двух чисел, переданных в разные минуты;

2) R делится на 26.

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

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

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

Программа должна напечатать отчёт по следующей форме.

 

Вычисленное контрольное значение: …

Контроль пройден (или Контроль не пройден)

 

Если удовлетворяющее условию контрольное значение определить невозможно, то выводится только фраза «Контроль не пройден». Перед текстом программы кратко опишите используемый Вами алгоритм решения.

На вход программе в первой строке подаётся количество чисел 1 < N ≤ 100 000. В каждой из последующих N строк записано одно положительное целое число, не превышающее 1000. В последней строке записано контрольное значение.

 

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

5

52

12

39

55

23

2860

 

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

Вычисленное контрольное значение: 2860

Контроль пройден