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


Вариант № 5288957

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


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


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

Переведите в шестнадцатеричную систему счисления двоичное число 101011.


Ответ:

2
Задание 2 № 11338

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

 

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

 

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

 

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

 

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

 

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


Ответ:

3
Задание 3 № 7981

Между населёнными пунктами A, B, C, D, E, F построены дороги, протяжённость которых приведена в таблице. Отсутствие числа в таблице значает, что прямой дороги между пунктами нет.

 

ABCDEF
A24816
B23
C43
D83323
E25
F1635

 

Определите длину кратчайшего пути между пунктами A и F, проходящего через пункт E и не проходящего через пункт B. Передвигаться можно только по указанным дорогам.


Ответ:

4
Задание 4 № 15844

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

 

Таблица 1
IDФамилия_И. О.ПолМесто рождения
64Келдыш С.М.МЛипецк
66Келдыш О.Н.ЖБрянск
67Келдыш М.И.МЛипецк
68Келдыш Н.С.ЖЛипецк
69Дейнеко Н.А.ЖБрянск
70Сиротенко В.Н.МТула
72Сиротенко Д.В.МТула
75Сиротенко Н.П.МТула
77Мелконян А.А.МТамбов
81Мелконян И.Н.ЖТамбов
82Лурье А.В.ЖТула
86Хитрово Н.И.МБрянск
88Хитрово Т.Н.ЖТула
89Гурвич З.И.ЖТула

Таблица 2
ID_РодителяID_Ребенка
6664
6764
8666
8169
7570
8970
7072
8872
8177
7581
8981
7082
8882
8688


Ответ:

5
Задание 5 № 3675

Для кодирования букв А, В, С, D используются четырехразрядные последовательные двоичные числа, начинающиеся с 1 (от 1001 до 1100 соответственно). Закодируйте таким образом последовательность символов CADB и запишите результат в шестнадцатеричном коде.


Ответ:

6
Задание 6 № 13482

Автомат получает на вход нечётное число X. По этому числу строится трёхзначное число Y по следующим правилам.

1. Первая цифра числа Y (разряд сотен) — остаток от деления X на 4.

2. Вторая цифра числа Y (разряд десятков) — остаток от деления X на 3.

3. Третья цифра числа Y (разряд единиц) — остаток от деления X на 2.

Пример.

Исходное число: 63179. Остаток от деления на 4 равен 3; остаток от деления на 3 равен 2; остаток от деления на 2 равен 1. Результат работы автомата: 321.

Укажите наименьшее двузначное число, при обработке которого автомат выдаёт результат 301.


Ответ:

7
Задание 7 № 1620

В электронной таблице значение формулы =СУММ(D2:D4) равно 15. Чему равно значение формулы =CУMM(D1:D4), если значение ячейки D1 равно 5? Пустых ячеек в таблице нет.


Ответ:

8
Задание 8 № 5309

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

 

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

DIM N, S AS INTEGER

    N = 50

    S = 1

    WHILE S < 1000

        S = S * 2

        N = N + 10

    WEND

PRINT N

var n, s: integer;

begin

    n : = 50;

    s := 1;

    while s < 1000 do

    begin

        s := s * 2;

        n := n + 10

    end;

    write(n);

end.

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

#include <iostream>

using namespace std;

int main()

{

    int n, s;

    n = 50;

    s = 1;

    while (s < 1000)

    {

        s = s * 2 ;

        n = n + 10;

    }

    cout « n « endl;

}

алг

нач

цел n, s

n := 50

s : = 1

нц пока s < 1000

    s : = s * 2

    n := n + 10

кц

вывод n

кон

Python

n = 50

s = 1

while s < 1000:

    s *= 2

    n += 10

print(n)

 


Ответ:

9
Задание 9 № 10470

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


Ответ:

10
Задание 10 № 10411

Игорь составляет таблицу кодовых слов для передачи сообщений, каждому сообщению соответствует своё кодовое слово. В качестве кодовых слов Игорь использует 5-буквенные слова, в которых есть только буквы A, B, C, X, причём буква X появляется ровно 1 раз. Каждая из других допустимых букв может встречаться в кодовом слове любое количество раз или не встречаться совсем. Сколько различных кодовых слов может использовать Игорь?


Ответ:

11
Задание 11 № 9362

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

 

БейсикPython

DECLARE SUB F(n)

DECLARE SUB G(n)

 

SUB F(n)

    IF n > 0 THEN G(n - 1)

END SUB

 

SUB G(n)

    PRINT "*"

    IF n > 1 THEN F(n - 3)

END SUB

def F(n):

    if n > 0:

        G(n - 1)

def G(n):

    print("*")

    if n > 1:

        F(n - 3)

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

procedure F(n: integer); forward;

procedure G(n: integer); forward;

 

procedure F(n: integer);

begin

    if n > 0 then

        G(n - 1);

end;

 

procedure G(n: integer);

begin

    writeln('*');

    if n > 1 then

        F(n - 3);

end;

алг F(цел n)

нач

    если n > 0 то

        G(n - 1)

    все

кон

 

алг G(цел n)

нач

    вывод "*"

    если n > 1 то

        F(n - 3)

    все

кон

Си

void F(int n);

void G(int n);

 

void F(int n){

    if (n > 0)

        G(n - 1);

}

 

void G(int n){

    printf("*");

    if (n > 1)

        F(n - 3);

}

 

 

Сколько символов «звёздочка» будет напечатано на экране при выполнении вызова F(11)?


Ответ:

12
Задание 12 № 2226

Петя записал IP-адрес школьного сервера на листке бумаги и положил его в карман куртки. Петина мама случайно постирала куртку вместе с запиской. После стирки Петя обнаружил в кармане четыре обрывка с фрагментами IP-адреса. Эти фрагменты обозначены буквами А, Б, В и Г. Восстановите IP-адрес. В ответе укажите последовательность букв, обозначающих фрагменты, в порядке, соответствующем IP-адресу.

 


Ответ:

13
Задание 13 № 227

Метеорологическая станция ведет наблюдение за влажностью воздуха. Результатом одного наблюдения является целое число от 0 до 100%, записываемое при помощи минимально возможного количества бит. Станция сделала 800 измерений. Определите информационный объем результатов наблюдений. (Ответ дайте в байтах.)


Ответ:

14
Задание 14 № 7990

Исполнитель Чертёжник перемещается на координатной плоскости, оставляя след в виде линии. Чертёжник может выполнять команду сместиться на (a, b), где a, b — целые числа. Эта команда перемещает Чертёжника из точки с координатами (x, y) в точку с координатами (x + a, y + b). Например, если Чертёжник находится в точке с координатами (4, 2), то команда сместиться на (2, −3) переместит Чертёжника в точку (6, −1).

Цикл

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

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

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

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

 

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

 

НАЧАЛО

сместиться на (−1, −2)

ПОВТОРИ … РАЗ

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

сместиться на (−1, −2)

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

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

КОНЕЦ

 

После выполнения этого алгоритма Чертёжник возвращается в исходную точку. Какое наибольшее число повторений могло быть указано в конструкции «ПОВТОРИ … РАЗ»?.


Ответ:

15
Задание 15 № 4940

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


Ответ:

16
Задание 16 № 8664

Сколько единиц содержится в двоичной записи значения выражения: 82020 + 42017 + 26 – 1?


Ответ:

17
Задание 17 № 10480

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

 

ЗапросНайдено страниц (в тысячах)
Сосна & Ель270
Сосна & (Ель | Кедр)530
Сосна & Кедр360

 

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

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


Ответ:

18
Задание 18 № 14233

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

 

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

 

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


Ответ:

19
Задание 19 № 8107

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

 

БейсикPython

s = 0

FOR j = 0 TO 8

    IF A(j) > A(j+1) THEN

        s = s + 1

        t = A(j)

        A(j) = A(j+1)

        A(j+1) = t

    ENDIF

NEXT j

s = 0

for j in range(9):

    if A[j] > A[j+1]:

        s = s + 1

        t = A[j]

        A[j] = A[j+1]

        A[j+1] = t

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

s := 0;

for j := 0 to 8 do

    if A[j] > A[j+1] then

    begin

        s := s + 1;

        t := A[j];

        A[j] := A[j+1];

        A[j+1] := t;

    end;

s := 0

нц для j от 0 до 8

    если A[j] > A[j+1] то

        s := s + 1

        t := A[j]

        A[j] := A[j+1]

        A[j+1] := t

    все

кц

Си++

s = 0;

for (j = 0; j < 9; j++) {

    if (A[j] > A[j+1])

    {

        s++;

        t = A[j];

        A[j] = A[j+1];

        A[j+1] = t;

    }

}

 


Ответ:

20
Задание 20 № 15142

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

 

 

БейсикPython

DIM X, A, B AS INTEGER

INPUT X

A = 0: B = 0

WHILE X > 0

    IF X MOD 2 = 0 THEN

        A = A + 1

    ELSE

        B = B + X MOD 6

    END IF

    X = X \ 6

WEND

PRINT A

PRINT B

 

x = int(input())

a=0; b=0

while x > 0:

    if x%2 == 0:

        a += 1

    else:

        b += x%6

    x = x//6

print(a, b)

 

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

var x, a, b: longint;

begin

    readln(x);

    a := 0; b := 0;

    while x > 0 do begin

        if x mod 2 = 0 then

            a := a + 1

        else

            b := b + x mod 6;

        x := x div 6;

    end;

    writeln(a); write(b);

end.

 

алг

нач

    цел x, a, b

    ввод x

    a := 0; b := 0

    нц пока x > 0

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

            то a := a+1

            иначе b := b + mod(x,6)

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

    кц

    вывод a, нс, b

кон

 

С++

#include <iostream>

using namespace std;

int main()

{

    int x, a, b;

    cin >> x;

    a = 0; b = 0;

    while (x > 0) {

        if (x%2 == 0)

        a += 1;

        else                

        b += x%6;

        x = x / 6;

    }

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

    return 0;

}

 

 


Ответ:

21
Задание 21 № 15637

Какое значение будет выведено на экран после выполнения данной программы?

 

БейсикPython

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

    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+24

    FUNCTION F(x)

        F := 2*(x-19)*(x-19)+7

    END FUNCTION

def f(x):

    return 2*(x-19)*(x-19)+7

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+24)

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

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

Function F(x: integer):integer;

    begin

        F := 2*(x-19)*(x-19)+7;

    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+24);

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+24

кон

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

нач

    знач :=2*(x-19)*(x-19)+7;

кон

Си++

#include <iostream>

using namespace std;

 

int F(int x)

{

    return 2*(x-19)*(x-19)+7

}

int main()

{

    int a, b, t, M, R;

    a = -20; b = 20;

    M = a; R = F(a);

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

        if (F(t) > R) {

            M = t; R = F(t);

        }

    }

    cout << (M+24) << endl;

}

 


Ответ:

22
Задание 22 № 13525

Исполнитель Май17 преобразует число на экране.

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

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

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

Первая команда увеличивает число на экране на 1, вторая увеличивает его на 3. Программа для исполнителя Май17 — это последовательность команд.

Сколько существует программ, для которых при исходном числе 1 результатом является число 15 и при этом траектория вычислений содержит число 8? Траектория вычислений программы – это последовательность результатов выполнения всех команд программы. Например, для программы 121 при исходном числе 7 траектория будет состоять из чисел 8, 11, 12.


Ответ:

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
Задание 24 № 5223

 

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

Ученик написал такую программу:

 

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

var x, y: real; begin

readln(x,у);

if у >= 1-х then begin

if у <= 2-2*x*x then write('принадлежит')

end else

if у >= x*x-5 then

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

else

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

end.

INPUT х, у

IF у >= 1-х THEN

IF у <= 2-2*х*х THEN PRINT "принадлежит"

ELSE

IF у >= х*х-5 THEN

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

ELSE

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

END IF

END IF

END

Си++Алгоритмический язык
#include <iostream>

using namespace std;

int main (){

float x, у;

cin >> x >> y;

if (y >= 1-х) {

if (y <= 2-2*x*x) cout << "принадлежит";

}

else

if (y >= x*x-5)

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

else

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

}

алг

нач

вещ х, у

ввод х, у

если у >= 1-х то

если у <= 2-2*х*х то

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

все

иначе

если у >= х*х-5 то

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

иначе

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

все

все

кон

Python

x = float(input())

y = float(input())

if у >= 1-х:

    if у <= 2-2*x*x:

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

else:

    if у >= x*x-5:

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

    else:

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

 

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

 

ОбластьУсловие 1 (у >= 1-x)Условие 2 (y <= 2−2*x*x)Условие 3 (y >= x*x−5)ВыводВерно
принадлежитнет
не принадлежитда
да

 

Графы протокола содержат следующую информацию.

 

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

 

Условие 1, Условие2, Условие 3 — результат проверки соответствующего условия (да или нет). Если условие не проверялось, в протокол записывался прочерк.

 

Вывод — сообщение, которое вывела программа. Если программа ничего не вывела, в протокол записывался прочерк.

 

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

 

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

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

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


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

25
Задание 25 № 3602

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

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

 

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

const

N = 50; var

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

i, j: integer;

begin

for i := 1 to N do

readln(a[i]);

...

end.

N = 50

DIM A(N) AS REAL

DIM I, J AS INTEGER

FOR I = 1 TO N

INPUT A (I)

NEXT I

...

END

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

#include <iostream>

using namespace std;

#define N 50

int main(void)

{float a[N];

int i, j;

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

cin >> a[i];

...

}

алг

нач

цел N = 50

вещтаб а[1:N]

цел 1, j

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

ввод a [IT

кц

...

кон

Естественный язык

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

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

В цикле от 1 до 50 вводим элементы массива А с 1-го по 50-й.

...

Python

// допускается также использовать

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

a = []

n = 50

for i in range(0, n):

a.append(int(input()))

 

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


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

26
Задание 26 № 16053

Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежат две кучи камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в одну из куч (по своему выбору) один камень или увеличить количество камней в куче в три раза. Например, пусть в одной куче 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 опишите выигрышную стратегию Вани.

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

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


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

27
Задание 27 № 14788

Дан набор из N целых положительных чисел. Из этих чисел формируются все возможные пары (парой считаются два элемента, которые находятся на разных местах в наборе, порядок чисел в паре не учитывается), в каждой паре вычисляется сумма элементов. Необходимо определить количество пар, для которых полученная сумма делится на 9.

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

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

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

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

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

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

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

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

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

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

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

5

4

3

5

4

15

 

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

3

 

Из 5 чисел можно составить 10 пар. В данном случае у трёх пар сумма делится на 9: 4 + 5, 4 + 5 (в наборе две четвёрки, поэтому пару 4 + 5 можно составить двумя способами), 3 + 15.


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