СДАМ ГИА: РЕШУ ЕГЭ
Образовательный портал для подготовки к экзаменам
Информатика
≡ информатика
сайты - меню - вход - новости




Вариант № 4595655

При вы­пол­не­нии заданий 1—23 ответом яв­ля­ет­ся одна цифра, ко­то­рая соответствует но­ме­ру правильного ответа или число, по­сле­до­ва­тель­ность букв или цифр. Ответ сле­ду­ет записывать без про­бе­лов и каких-либо до­пол­ни­тель­ных символов.


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



Версия для печати и копирования в MS Word
Времени прошло:0:00:00
Времени осталось:3.9166666666666665:55:00
1
Задание 1 № 4960

Даны 4 целых числа, записанные в двоичной системе:

 

10001011, 10111000, 10011011, 10110100.

 

Сколько среди них чисел, больших, чем BC16+208?


Ответ:

2
Задание 2 № 17366

Логическая функция F задаётся выражением ((xw) ∨ (wz)) ≡ ((zy) ∧ (yx)).

Дан частично заполненный фрагмент, содержащий неповторяющиеся строки таблицы истинности функции F.

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

 

Переменная 1Переменная 2Переменная 3Переменная 4Функция
????????????F
10111
1001
1001

 

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

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

 

Переменная 1Переменная 1Функция
??????F
010

 

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


Ответ:

3
Задание 3 № 11104

Между населёнными пунктами А, Б, В, Г, Д, Е и К построены дороги, протяжённость которых приведена в таблице. (Отсутствие числа в таблице означает, что прямой дороги между пунктами нет.)

 

 

АБВГДЕК
А5
Б5358
В34
Г513
Д84125
Е21
К351

 

Определите длину кратчайшего пути между пунктами А и К (при условии, что передвигаться можно только по построенным дорогам).


Ответ:

4
Задание 4 № 7327

В фрагменте базы данных представлены сведения о родственных отношениях. На основании приведённых данных определите ID родной сестры Притулы П. И.

 

Таблица 1
IDФамилия_И.О.Пол
2294Решко Л.П.Ж
3039Притула А.К.М
3043Вирченко В.А.Ж
2232Плиев Г.А.М
2659Притула Е.А.Ж
2144Вирченко Н.А.Ж
2278Притула И.А.М
2849Ложкина Т.Х.Ж
2158Король А.П.М
2487Брик А.И.Ж
3021Притула П.И.М
2494Притула А.И.Ж
2565Мутян С.А.Ж
2876Король П.А.М

Таблица 2
ID_РодителяID_Ребенка
22942659
22942278
30392659
30392278
26593043
26592565
26592876
22783021
22782487
28493021
28492487
21583043
21582565
21582876


Ответ:

5
Задание 5 № 16808

По каналу связи передаются сообщения, содержащие только семь букв: А, Б, И, К, Л, С, Ц. Для передачи используется двоичный код, удовлетворяющий условию Фано. Кодовые слова для некоторых букв известны: Б — 00, К — 010, Л — 111. Какое наименьшее количество двоичных знаков потребуется для кодирования слова АБСЦИССА?

 

Примечание. Условие Фано означает, что ни одно кодовое слово не является началом другого кодового слова.


Ответ:

6
Задание 6 № 2103

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

 

вправо

вниз

вправо

вверх

влево

вверх

вверх

влево

 

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


Ответ:

7
Задание 7 № 11236

В некоторые ячейки электронной таблицы записаны числа, как показано на рисунке.

 

ABCDEF
1012345
210
320
430
540
650

 

 

В ячейке D3 записали формулу = D$1 + $A3. После этого ячейку D3 скопировали в ячейку F5. Какое число будет показано в ячейке F5?

 

Примечание. Знак $ используется для обозначения абсолютной адресации.


Ответ:

8
Задание 8 № 6337

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

 

БейсикПаскаль

DIM N, S AS INTEGER

N = 10

S = 0

WHILE S <= 249

S = S + 24

N = N + 3

WEND

PRINT N

var n, s: integer;

begin

    n := 10;

    s := 0;

    while s <= 249 do

    begin

        s := s + 24;

        n := n + 3

    end;

    write(n)

end.

Си++Алгоритмический язык

#include <iostream>

using namespace std;

int main()

{

    int n, s;

    n = 10;

    s = 0;

    while (s <= 249)

    {

        s = s + 24;

        n = n + 3;

    }

    cout « n « endl;

}

алг

нач

цел n, s

n := 10

s := 0

нц пока s <= 249

    s := s + 24

    n := n + 3

кц

вывод n

кон

Python

n = 10

s = 0

while s <= 249:

    s += 24

    n += 3

print(n)

 


Ответ:

9
Задание 9 № 2426

Документ объемом 10 Мбайт можно передать с одного компьютера на другой двумя способами:

 

А) Сжать архиватором, передать архив по каналу связи, распаковать

Б) Передать по каналу связи без использования архиватора.

 

Какой способ быстрее и насколько, если

– средняя скорость передачи данных по каналу связи составляет 218 бит в секунду,

– объем сжатого архиватором документа равен 30% от исходного,

– время, требуемое на сжатие документа – 7 секунд, на распаковку – 1 секунда?

 

В ответе напишите букву А, если способ А быстрее или Б, если быстрее способ Б. Сразу после буквы напишите количество секунд, насколько один способ быстрее другого.

Так, например, если способ Б быстрее способа А на 23 секунды, в ответе нужно написать Б23. Слов «секунд», «сек.», «с.» к ответу добавлять не нужно.


Ответ:

10
Задание 10 № 3208

Все 5-буквенные слова, составленные из букв К, О, Р, записаны в алфавитном порядке и пронумерованы. Вот начало списка:

 

1. ККККК

2. ККККО

3. ККККР

4. КККОК

……

 

Запишите слово, которое стоит под номером 182.


Ответ:

11
Задание 11 № 5810

Алгоритм вычисления значения функции F(n), где n — натуральное число, задан следующими соотношениями:

 

F(n) = n при n ≤ 2;

F(n) = F(n − 1) + 3×F(n − 2) при n > 2.

 

Чему равно значение функции F(6)? В ответе запишите только натуральное число.


Ответ:

12
Задание 12 № 6311

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

 

IP-адрес узла: 32.128.208.64

Маска: 255.255.224.0

 

При записи ответа выберите из приведённых в таблице чисел четыре элемента IP-адреса сети и запишите в нужном порядке соответствующие им буквы без использования точек.

 

ABCDEFGH
03264128192208224255

 

Пример. Пусть искомый IP-адрес: 192.168.128.0, и дана таблица:

 

ABCDEFGH
1281682558127017192

 

В этом случае правильный ответ будет записан в виде: HBAF.


Ответ:

13
Задание 13 № 6569

В велокроссе участвуют 459 спортсменов. Специальное устройство регистрирует прохождение каждым из участников промежуточного финиша, записывая его номер с использованием минимально возможного количества бит, одинакового для каждого спортсмена. Какой объём памяти будет использован устройством, когда промежуточный финиш прошли 160 велосипедистов? (Ответ дайте в байтах.)


Ответ:

14
Задание 14 № 8662

Исполнитель Чертёжник перемещается на координатной плоскости, оставляя след в виде линии. Чертёжник может выполнять команду сместиться на (a, b), где a, b – целые числа. Эта команда перемещает Чертёжника из точки с координатами (x, y) в точку с координатами (x + a; y + b).

Например, если Чертёжник находится в точке с координатами (4, 2), то команда сместиться на (2, -3) переместит Чертёжника в точку (6, -1).

Цикл

    ПОВТОРИ число РАЗ

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

    КОНЕЦ ПОВТОРИ

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

Чертёжнику был дан для исполнения следующий алгоритм (буквами n, a, b обозначены неизвестные числа, n>1):

НАЧАЛО

    сместиться на (60, 100)

    ПОВТОРИ n РАЗ

        сместиться на (a, b)

        сместиться на (33, 44)

    КОНЕЦ ПОВТОРИ

    сместиться на (13, 200)

    сместиться на (-1, 60)

КОНЕЦ

Укажите наибольшее возможное значение числа n, для которого найдутся такие значения чисел a и b, что после выполнения программы Чертёжник возвратится в исходную точку.


Ответ:

15
Задание 15 № 3769

На рисунке – схема дорог, связывающих города A, B, C, E, F, G, H, K, L, M. По каждой дороге можно двигаться только в одном направлении, указанном стрелкой. Сколько существует различных путей из города A в город E?


Ответ:

16
Задание 16 № 10417

Решите уравнение

Ответ запишите в восьмеричной системе счисления. Основание системы в ответе писать не нужно.


Ответ:

17
Задание 17 № 8105

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

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

 

ЗапросНайдено страниц, тыс.
Математика & Информатика330
Математика & Физика270
Математика & (Информатика | Физика)520

 

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

 

Математика & Информатика & Физика?

 

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


Ответ:

18
Задание 18 № 14277

На числовой прямой даны два отрезка: P = [17, 40] и Q = [20, 57]. Отрезок A таков, что приведённая ниже формула истинна при любом значении переменной х:

 

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

 

Какова наименьшая возможная длина отрезка A?


Ответ:

19
Задание 19 № 13746

В программе используется одномерный целочисленный массив A с индексами от 0 до 9. Значения элементов равны 3, 0, 4, 6, 5, 1, 8, 2, 9, 7 соответственно, т. е. A[0] = 3, A[1] = 0 и т. д. Определите значение переменной 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
Задание 20 № 5620

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

 

 

БейсикПаскаль

DIM X, А, В, С AS INTEGER

INPUT X

А = 0: В = 0

WHILE X > 0

    С = X MOD 2

    IF C = 0 THEN

        A = A + 1

    ELSE

        B = B + 1

    END IF

    X = X \ 10

WEND

PRINT А

PRINT В

var x, a, b, c: integer;

begin

    readln(x);

    a := 0; b := 0;

    while x>0 do

        begin

            с := x mod 2;

            if c = 0 then

                a := a + 1

            else

                b := b + 1;

            x := x div 10

        end;

    writeln(a); write(b);

end.

Си++Алгоритмический

#include <iostream>

using namespace std;

int main()

{

    int x, a, b, c;

    cin >> x;

    a = 0;

    b = 0;

    while (x > 0) {

        с = x % 2;

        if (c == 0) a = a + 1;

        else b = b + 1;

        x = x / 10;

    }

    cout << a << endl << b endl;

}

алг

нач

цел х, а, b, с

ввод X

а := 0; b := 0

нц пока х>0

    с := mod(х, 2)

    если с = 0

        то a := a + 1

    иначе b := b + 1

все

х := div(х, 10)

кц

вывод а, не, b

кон

Python

x = int(input())

a = 0

b = 0

while x > 0:

    c = x % 2

    if c == 0:

        a += 1

    else b += 1

    x = x // 10

print(a)

print(b)

 


Ответ:

21
Задание 21 № 9372

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

 

БейсикPython

DIM K, I AS LONG

INPUT K

I = 1

WHILE F(I) < G(K)

    I = I + 1

WEND

PRINT I

 

FUNCTION F(N)

    F = N * N * N

END FUNCTION

 

FUNCTION G(N)

    G = 2*N + 3

END FUNCTION

def f(n):

    return n*n*n

 

def g(n):

    return 2*n+3

 

k = int(input())

i = 1

while f(i) < g(k):

    i+=1

print (i)

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

var

    k, i : longint;

 

function f(n: longint): longint;

begin

    f := n * n * n;

end;

 

function g(n: longint): longint;

begin

    g := 2*n + 3;

end;

 

begin

    readln(k);

    i := 1;

    while f(i) < g(k) do

        i := i+1;

    writeln(i)

end.

алг

нач

    цел i, k

    ввод k

    i := 1

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

        i := i + 1

    кц

    вывод i

кон

 

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

нач

    знач := n * n * n

кон

 

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

нач

    знач := 2*n + 3

кон

Си++

#include <iostream>

using namespace std;

long f(long n) {

    return n * n * n;

}

 

long g(long n) {

    return 2*n + 3;

}

 

int main()

{

    long k, i;

    cin >> k;

    i = 1;

    while(f(i) < g(k))

        i++;

    cout << i << endl;

    return 0;

}

 


Ответ:

22
Задания Д 22 № 6775

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

 

БейсикПаскаль

a = 30

b = 6

a = a * 3 / b

IF a < b THEN

c = 3*a - 5 * (b+2)

ELSE

c = 3*a + 5 * (b+2)

END IF

a := 30;

b := 6;

a := a * 3 / b;

if a < b then

c := 3*a - 5 *(b+2)

else

c := 3*a + 5 * (b+2);

Си++Алгоритмический язык

a = 30;

b = 6;

a = a * 3 / b;

if (a < b)

c = 3*a - 5 * (b+2);

else

c = 3*a + 5 * (b+2);

a := 30

b := 6

a := a * 3 / b

если a < b

то c := 3*a - 5*(b+2)

иначе c := 3*a + 5*(b+2)

все

Python

a = 30

b = 6

a = a * 3 / b

if a < b:

    c = 3 * a – 5 * (b+2)

else:

    c = 3 * a + 5 * (b+2)

 


Ответ:

23
Задание 23 № 11124

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

 

(x1 → x2) ∧ (x2 → x3) ∧ (x3 → x4) ∧ (x4 → x5) ∧ (x5 → x6) = 1

(y1 → y2) ∧ (y2 → y3) ∧ (y3 → y4) ∧ (y4 → y5) ∧ (y5 → y6) = 1

(¬x1 ∨ y1) ∧ (¬x2 ∨ y2) ∧ (¬x3 ∨ y3) ∧ (¬ x4 ∨ y4) ∧ (¬x5 ∨ y5) ∧ (¬x6 ∨ y6) = 1

 

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


Ответ:

24
Задание 24 № 6316

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

 

БейсикПаскаль

INPUT x, y

IF y<=1 THEN

IF y>=0 THEN

IF x>=-1 THEN

IF y>=x*x THEN

PRINT "принадлежит"

ELSE

PRINT "не принадлежит"

END IF

END IF

END IF

END IF

END

var x,y: real;

begin

readln(x,y);

if y<=1 then

if y>=0 then

if x>=-1 then

if y>=x*x then

write('принадлежит')

else

write('не принадлежит');

end.

Си++Алгоритмический

#include <iostream>

using namespace std;

int main()

{

float x,y;

cin >> x >> y;

if (y<=1)

if (y>=0)

if (x>=-1)

if (y>=x*x)

cout << "принадлежит";

else

cout << "не принадлежит";

}

алг

нач

вещ x,y

ввод x,y

если y<=1 то

если y>=0 то

если x>=-1 то

если y>=x*x то

вывод 'принадлежит'

иначе

вывод 'не принадлежит'

все

все

все

все

кон

Python

x,y = float(input()), float(input())

if y<=1:

    if y>=0:

        if x>=-1:

            if y>=x*x:

                print("принадлежит")

        else:

                print("не принадлежит")

 

 

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

 

1. Перерисуйте и заполните таблицу, которая показывает, как работает программа при аргументах, принадлежащих различным областям (A, B, C, D, E, F, G, H, I, J, K). Точки, лежащие на границах областей, отдельно не рассматривать. Координатные оси не являются границами областей. В столбцах условий укажите «да», если условие выполнится, «нет», если условие не выполнится, «—» (прочерк), если условие не будет проверяться, «не изв.», если программа ведёт себя по-разному для разных значений, принадлежащих данной области. В столбце «Программа выведет» укажите, что программа выведет на экран. Если программа ничего не выводит, напишите «—» (прочерк). Если для разных значений, принадлежащих области, будут выведены разные тексты, напишите «не изв.». В последнем столбце укажите «да» или «нет».

 

ОбластьУсловие1 (y<=1)Условие 2 (y>=0)Условие 3

(x>=−1)

Условие 4 (y>=x*x)Программа

выведет

Область обрабатывается

верно

A
В
С
D
Е
F
G
Н
I
J

 

2. Укажите, как нужно доработать программу, чтобы не было случаев её неправильной работы. (Это можно сделать несколькими способами, достаточно указать любой способ доработки исходной программы.)


Решения заданий части С не проверяются автоматически.
На следующей странице вам будет предложено проверить их самостоятельно.

25
Задание 25 № 12441

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

на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести количество пар элементов массива, в которых хотя бы одно число делится на 13. В данной задаче под парой подразумевается два подряд идущих элемента массива. Например, для массива из пяти элементов: 6; 2; 13; –26; 14 — ответ: 3.

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

не использовать некоторые из описанных переменных.

 

 

 

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

#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
Задание 26 № 5598

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

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

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

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

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

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

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

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

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

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

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


Решения заданий части С не проверяются автоматически.
На следующей странице вам будет предложено проверить их самостоятельно.

27
Задание 27 № 16054

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

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

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


Решения заданий части С не проверяются автоматически.
На следующей странице вам будет предложено проверить их самостоятельно.
Времени прошло:0:00:00
Времени осталось:3.9166666666666665:55:00
Завершить тестирование, свериться с ответами, увидеть решения.