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



О ПОЛОМКЕ И ВОССТАНОВЛЕННОЙ КОПИИ РЕШУ ЕГЭ

Вариант № 6353906

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


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


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

Вычислите значение выражения 1D716 − 1A616. Ответ запишите в десятичной системе счисления.


Ответ:

2
Задание 2 № 18483

Логическая функция F задаётся выражением ((yw) ≡ (x → ¬z)) ∧ (x ∨ w).

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

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

 

Переменная 1Переменная 2Переменная 3Переменная 4Функция
????????????F
01110
10101
001

 

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

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

 

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

 

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


Ответ:

3
Задание 3 № 10306

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

 

П1П2П3П4П5П6П7
П14015
П2403548
П3106511
П415352233
П51050
П64865225040
П7113340

 

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


Ответ:

4
Задание 4 № 17322

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

 

Таблица 1
IDФамилия И.О.ПолГод рождения
152Павленко А. К.М1942
232Сокол Е. П.Ж1964
314Хитрук Е. А.Ж1970
323Кривич Л. П.Ж1947
343Симонян А. А.М1989
407Хитрук П. А.М1937
424Косых В. Г.М1984
468Симонян С. И.Ж1992
613Хитрук Н. П.Ж1939
760Хитрук И. П.М1968
803Сокол Л. М.Ж1986
880Косых Г. В.М2010
902Сокол М. Л.М1965
957Симонян Т. А.М2015

Таблица 2
ID РодителяID Ребенка
152314
232803
314468
323314
343957
407760
407232
424880
468957
613760
613232
760468
803880
902803


Ответ:

5
Задание 5 № 18553

По каналу связи передаются сообщения, содержащие только восемь букв: А, В, Е, З, И, Н, О, Р. Для передачи используется двоичный код, удовлетворяющий условию Фано. Кодовые слова для некоторых букв известны: А — 101, В — 010, И — 00. Какое наименьшее количество двоичных знаков потребуется для кодирования слова НЕВЕЗЕНИЕ?

 

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


Ответ:

6
Задание 6 № 3417

Исполнитель Робот действует на клетчатой доске, между соседними клетками которой могут стоять стены. Робот передвигается по клеткам доски и может выполнять команды 1 (вверх), 2 (вниз), 3 (вправо) и 4 (влево), переходя на соседнюю клетку в направлении, указанном в скобках. Если в этом направлении между клетками стоит стена, то Робот разрушается. Робот успешно выполнил программу

33233241

Какую последовательность из четырех команд должен выполнить Робот, чтобы вернуться в ту клетку, где он был перед началом выполнения программы, и не разрушиться вне зависимости от того, какие стены стоят на поле?


Ответ:

7
Задание 7 № 15819

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

 

 

ABCDEF
1300201041
240020010042
350020001000142
460040002000242
570060005000442
680090008000842

 

В ячейку A3 записали формулу = $C2 + E$2. Затем ячейку A3 скопировали в одну из ячеек столбца B, после чего в этой ячейке появилось числовое значение 642. В какую ячейку выполнялось копирование?

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


Ответ:

8
Задание 8 № 16884

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

 

 

БейсикPython

DIM S, N AS INTEGER

S = 0

N = 25

WHILE S + N <= 100

S = S + 20

N = N − 5

WEND

PRINT S

s = 0

n = 25

while s + n <= 100:

    s = s + 20

    n = n − 5

print(s)

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

var s, n: integer;

begin

    s := 0;

    n := 25;

    while s + n <= 100 do

    begin

        s := s + 20;

        n := n − 5;

    end;

    writeln(s)

end.

алг

нач

    цел s, n

    s := 0

    n := 25

    нц пока s + n <= 100

        s := s + 20

        n := n − 5

    кц

    вывод s

кон

Си++

#include <iostream>

using namespace std;

int main()

{

    int s = 0, n = 25;

    while (s + n <= 100) {

        s = s + 20;

        n = n − 5;

    }

    cout << s;

    return 0;

}

 

 


Ответ:

9
Задание 9 № 2425

У Толи есть доступ к сети Интернет по высокоскоростному одностороннему радиоканалу, обеспечивающему скорость получения информации 218 бит в секунду. У Миши нет скоростного доступа в Интернет, но есть возможность получать информацию от Толи по низкоскоростному телефонному каналу со средней скоростью 215 бит в секунду. Миша договорился с Толей, что тот будет скачивать для него данные объемом 11 Мбайт по высокоскоростному каналу и ретранслировать их Мише по низкоскоростному каналу. Компьютер Толи может начать ретрансляцию данных не раньше, чем им будут получены первые 512 Кбайт этих данных. Каков минимально возможный промежуток времени (в секундах) с момента начала скачивания Толей данных до полного их получения Мишей? В ответе укажите только число, слово «секунд» или букву «с» добавлять не нужно.


Ответ:

10
Задание 10 № 3230

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

 

1. ААААА

2. ААААК

3. ААААР

4. ААААУ

5. АААКА

……

 

Укажите номер слова УКАРА.


Ответ:

11
Задание 11 № 9163

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

 

 

БейсикPython

SUB F(n)

    PRINT n

    IF n < 4 THEN

        F(n + 1)

        F(n + 3)

    END IF

END SUB

def F(n):

    print(n)

    if n < 4:

        F(n + 1)

        F(n + 3)

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

алг F(цел n)

нач

    вывод n, нс

    если n < 4 то

        F(n + 1)

        F(n + 3)

    все

кон

procedure F(n: integer);

begin

    writeln(n);

    if n < 4 then

    begin

        F(n + 1);

        F(n + 3)

    end

end

Си

void F(int n)

{

    cout << n;

    if (n < 4)

    {

        F(n + 1);

        F(n + 3);

    }

}

 

 

Чему равна сумма всех чисел, напечатанных на экране при выполнении вызова F(1)?


Ответ:

12
Задание 12 № 17330

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

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

Узлы с IP-адресами 98.162.71.150 и 98.162.71.140 находятся в одной сети. Чему равно наибольшее количество возможных единиц в маске этой сети?


Ответ:

13
Задание 13 № 16816

Каждый сотрудник предприятия получает электронный пропуск, на котором записаны личный код сотрудника, номер подразделения и некоторая дополнительная информация. Личный код состоит из 14 символов, каждый из которых может быть заглавной латинской буквой (используется 20 различных букв) или одной из цифр от 0 до 9. Для записи кода на пропуске отведено минимально возможное целое число байт. При этом используют посимвольное кодирование, все символы кодируют одинаковым минимально возможным количеством бит. Номер подразделения — целое число от 1 до 1000, он записан на пропуске как двоичное число и занимает минимально возможное целое число байт. Всего на пропуске хранится 30 байт данных. Сколько байт выделено для хранения дополнительных сведений об одном сотруднике? В ответе запишите только целое число – количество байт.


Ответ:

14
Задание 14 № 5272

Система команд исполнителя РОБОТ, «живущего» в прямоугольном лабиринте на клетчатой плоскости, состоит из 8 команд. Четыре команды −

 

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

 

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

 

Четыре команды проверяют истинность условия отсутствия стены у каждой

 

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

 

Цикл

ПОКА условие

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

КОНЕЦ ПОКА

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

 

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

ЕСЛИ условие

ТО команда 1

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

КОНЕЦ ЕСЛИ

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

 

В конструкциях ПОКА и ЕСЛИ условие может содержать команды проверки, а также слова И, ИЛИ, НЕ, обозначающие логические операции.

Если РОБОТ начнёт движение в сторону находящейся рядом с ним стены, то он разрушится, и программа прервётся.

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

НАЧАЛО

ПОКА снизу свободно ИЛИ справа свободно

ЕСЛИ снизу свободно

ТО

вниз

КОНЕЦ ЕСЛИ

ЕСЛИ справа свободно

ТО

вправо

КОНЕЦ ЕСЛИ

КОНЕЦ ПОКА

КОНЕЦ


Ответ:

15
Задание 15 № 15137

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

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

 


Ответ:

16
Задание 16 № 16391

Значение выражения 497 + 720 − 28? записали в системе счисления с основанием 7.

Сколько цифр 6 содержится в этой записи?


Ответ:

17
Задание 17 № 15139

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

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

 

 

 

 

 

 

 

ЗапросНайдено страниц
(в тысячах)
Масло146
Сыр66
Холст120
Сыр & Масло40
Сыр | Холст186
Холст | Сыр | Масло222

 

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

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


Ответ:

18
Задание 18 № 18824

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

 

(xy < A) ∨ (y > x) ∨ (x ≥ 8)

 

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


Ответ:

19
Задание 19 № 11248

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

 

БейсикPython

c = 0

FOR i = 1 TO 9

  IF A(i) = A(0) THEN

    c = c + 1

    t = A(i+1)

    A(i+1) = A(i)

    A(i) = t

  END IF

NEXT i

c = 0

for i in range(1,10):

  if A[i] == A[0]:

    c = c + 1

    t = A[i+1]

    A[i+1] = A[i]

    A[i] = t

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

c := 0

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

  если A[i] = A[0] то

    c := c + 1

    t := A[i+1]

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

    A[i] := t

  все

кц

c := 0;

for i := 1 to 9 do begin

  if A[i] = A[0] then begin

    c := c + 1;

    t := A[i+1];

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

    A[i] := t;

  end;

end;

Си++

c = 0;

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

  if (A[i] == A[0]) {

    c++;

    t = A[i+1];

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

    A[i] = t;

  }

}

 


Ответ:

20
Задание 20 № 3260

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

 

 

БейсикPython

DIM X, L, M AS INTEGER

INPUT X

L = 0

M = 0

WHILE X > 0

L = L + 1

IF M < x AND x mod 2 = 0 THEN

     M = x mod 10

ENDIF

x = x \ 10

PRINT L

PRINT M

x = int(input())

L = 0

M = 0

while x > 0:

    L = L + 1

    if M < x and x % 2 == 0:

        M = x % 10

    x = x // 10

print(L)

print(M)

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

var x, L, M: integer;

begin

    readln(x);

    L := 0;

    M := 0;

    while x > 0 do

    begin

        L := L + 1;

        if (M < x) and (x mod 2 = 0) then

            M:=x mod 10;

        x := x div 10;

    end;

    writeln(L);

    writeln(M);

end.

алг

нач

    цел x, L, M

    ввод x

    L := 0

    M := 0

    нц пока x > 0

        L := L + 1

        если M < x и mod(x,2) = 0 то

            M := mod(x,10)

        все

        x := div(x,10)

    кц

    вывод L, нс, M

кон

Си++

 

#include <iostream>

using namespace std;

int main()

{

    int x, L, M;

    cin >> x;

    L = 0;

    M = 0;

    while (x > 0){

        L = L + 1;

        if(M < x && x % 2 == 0){

            M = x % 10;

        }

        x = x / 10;

    }

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

}

 


Ответ:

21
Задание 21 № 18597

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

 

 

БейсикPython

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

A = -9: B = 9

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)

    IF X>0 THEN

        F = (x*x-10)*(x*x-10) + 9

    ELSE

        F = (x*x-6)*(x*x-6) + 6

    END IF

END FUNCTION

def F(x):

    if x>0:

        return (x*x-10)*(x*x-10) + 9

    else:

        return (x*x-6)*(x*x-6) + 6

a=-9; b=9

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 :integer;

function F(x:integer):integer;

    begin

        if x>0

            then F := (x*x-10)*(x*x-10) + 9

            else F := (x*x-6)*(x*x-6) + 6

    end;

begin

    a := -9; b := 9;

    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 := -9; b := 9

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

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

        если F(t) < R

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

        все

    кц

    вывод M+R

кон

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

нач

    если x>0

        то знач := (x*x-10)*(x*x-10) + 9

        иначе знач := (x*x-6)*(x*x-6) + 6

    все

кон

 

С++

#include <iostream>

using namespace std;

int F(int x)

{

    if (x>0)

        return (x*x-10)*(x*x-10) + 9;

    else

        return (x*x-6)*(x*x-6) + 6;

}

 

int main()

{

    int a, b, t, M, R;

    a = -9; b = 9;

    M = a; R = F(a);

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

        if (F(t) < R) {

            M = t; R = F(t);

        }

    }

    cout << M+R;

    return 0;

}

 


Ответ:

22
Задание 22 № 18598

Исполнитель РазДваТри преобразует число на экране.

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

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

2. Умножить на 2

3. Умножить на 3

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

Программа для исполнителя РазДваТри — это последовательность команд. Сколько существует программ, которые преобразуют исходное число 1 в число 40, и при этом траектория вычислений содержит число 12 и не содержит числа 14?

Траектория вычислений — это последовательность результатов выполнения всех команд программы. Например, для программы 312 при исходном числе 4 траектория будет состоять из чисел 9, 10, 20.


Ответ:

23
Задание 23 № 18092

Сколько различных решений имеет система логических уравнений

 

 

(x1y1) ≡ (¬x2 ∨ ¬y2)

(x2y2) ≡ (¬x3 ∨ ¬y3)

...

(x7y7) ≡ (¬x8 ∨ ¬y8)

 

где x1, x2, ..., x8, y1, y2, ..., y8 — логические переменные? В ответе не нужно перечислять все различные наборы значений переменных, при которых выполнено данное равенство. В качестве ответа нужно указать количество таких наборов.


Ответ:

24
Задание 24 № 15934

Дано натуральное число N (N ≤ 109). Необходимо найти и вывести наибольшую чётную цифру в десятичной записи N или вывести сообщение «NO», если таких цифр нет.

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

Ниже эта программа для Вашего удобства приведена на пяти языках программирования.

 

 

БейсикPython

DIM N, D, M, T AS INTEGER

INPUT N

T = 0

M = T

WHILE N > 1

    D = N MOD 10

    IF D MOD 2 = 0 AND D > M THEN

        M = M + D

    END IF

    N = N \ 10

WEND

IF M = T THEN

    PRINT "NO"

ELSE

    PRINT M

END IF

END

N = int(input())

t = 0

m = t

while N > 1:

    d = N % 10

    if d%2 == 0 and d > m:

        m = m + d

    N = N // 10

if m == t:

    print("NO")

else:

    print(m)

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

var N, d, m, t: integer;

begin

    read(N);

    t := 0;

    m := t;

    while N > 1 do begin

        d := N mod 10;

        if (d mod 2 = 0) and (d>m) then

            m := m + d;

        N := N div 10

    end;

    if m = t

        then writeln('NO')

        else writeln(m)

end.

алг

нач

    цел N, d, m, t

    ввод N

     t := 0

     m := t

     нц пока N > 1

        d := mod(N,10)

        если mod(d,2)=0 и d>m то

            m := m + d

        все

        N := div(N,10)

     кц

     если m = t

        то вывод "NO"

        иначе вывод m

    все

кон

С++

#include <iostream>

using namespace std;

int main(){

    int N, d, m, t;

    cin >> N;

    t = 0;

    m = t;

    while (N > 1) {

        d = N % 10;

        if (d % 2 == 0 && d > m)

            m = m + d;

        N = N / 10;

    }

    if (m == t)

        cout << "NO";

    else

        cout << m;

    return 0;

}

 

 

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

1. Напишите, что выведет эта программа при вводе N = 864.

2. Какое наибольшее число может стать результатом работы этой программы? Приведите пример числа N, при вводе которого программа выведет такой ответ.

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

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

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


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

25
Задание 25 № 16052

Дан целочисленный массив из 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). В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии (например, в образце, записанном на Алгоритмическом языке).


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

26
Задание 26 № 6016

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

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

В начальный момент в куче было S камней, 1 ≤ S ≤26.

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

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

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

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

Опишите выигрышную стратегию Вани.

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

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

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

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

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

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

указывайте, кто делает ход; в узлах — количество камней в куче.


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

27
Задание 27 № 14713

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

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

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

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

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

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

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

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

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

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

В первой строке входных данных задаётся количество чисел N (1 ≤ N ≤ 1000).

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

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

5

1

3

6

11

1

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

3

Из 5 чисел можно составить 10 пар. В данном случае у трёх пар сумма делится на 7: 1 + 6, 1 + 6 (в наборе две единицы, поэтому пару 1 + 6 можно составить двумя способами), 3 + 11.


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