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


Вариант № 5187615

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


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


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

Вычислите значение выражения 8F16 − 8B16.

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


Ответ:

2
Задание 2 № 18808

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

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

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

 

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

 

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

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

 

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

 

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


Ответ:

3
Задание 3 № 6172

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

 

ABCDEFZ
A4646
B41
C6122120
D24
E425
F212
Z46205

 

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


Ответ:

4
Задание 4 № 13615

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

 

Таблица 1
IDФамилия_И.О.Пол
139Гончар В. А. М
1028Месхи А. П.М
1138 Месхи П. А. М
3361 Глинка Т. Х.Ж
3695 Глинка Т. И. Ж
4579Глинка А. К.М
4690Коротич Л. П. Ж
5255 Глинка И. А. М
6127Коротич А. А. М
6141 Глинка П. И. М
7247 Глинка Е. А. Ж
7368 Плевако С. А. Ж
8215 Гончар Н. А. М
8365Бах А. А. Ж

Таблица 2
ID_РодителяID_Ребенка
7247 139
1028139
72471138
10281138
52553695
33613695
45795255
46905255
52556141
33616141
45797247
46907247
72477368
10287368


Ответ:

5
Задание 5 № 1109

Для ко­ди­ро­ва­ния букв Р, И, К, П, А ре­ши­ли ис­поль­зо­вать дво­ич­ное пред­став­ле­ние чисел 0, 1, 2, 3 и 4 со­от­вет­ствен­но (с со­хра­не­ни­ем од­но­го не­зна­ча­ще­го нуля в слу­чае од­но­раз­ряд­но­го пред­став­ле­ния). За­ко­ди­руй­те по­сле­до­ва­тель­ность букв ПА­ПРИ­КА таким спо­со­бом и ре­зуль­тат за­пи­ши­те шест­на­дца­те­рич­ным кодом.


Ответ:

6
Задание 6 № 16381

Автомат обрабатывает натуральное число N > 1 по следующему алгоритму.

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

2. Последняя цифра двоичной записи удаляется.

3. Если исходное число N было нечётным, в конец записи (справа) дописываются цифры 10, если чётным — 01.

4. Результат переводится в десятичную систему и выводится на экран.

Пример. Дано число N = 13. Алгоритм работает следующим образом.

1. Двоичная запись числа N: 1101.

2. Удаляется последняя цифра, новая запись: 110.

3. Исходное число нечётно, дописываются цифры 10, новая запись: 11010.

4. На экран выводится число 26.

Какое число нужно ввести в автомат, чтобы в результате получилось 2018?


Ответ:

7
Задание 7 № 7191

В элек­трон­ной таб­ли­це зна­че­ние фор­му­лы =СРЗНАЧ(B5:E5) равно 100. Чему равно зна­че­ние фор­му­лы =СУММ(B5:D5), если зна­че­ние ячей­ки E5 равно 50? Пу­стых ячеек в таб­ли­це нет.


Ответ:

8
Задание 8 № 11264

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

 

БейсикPython

DIM S, N AS INTEGER

S = 0

N = 0

WHILE S < 165

  S = S + 15

  N = N + 2

WEND

PRINT N

s = 0

n = 0

while s < 165:

    s = s + 15

    n = n + 2

print(n)

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

нач

  цел n, s

  n := 0

  s := 0

  нц пока s < 165

    s := s + 15

    n := n + 2

  кц

  вывод n

кон

var s, n: integer;

begin

  s := 0;

  n := 0;

  while s < 165 do

  begin

    s := s + 15;

    n := n + 2

  end;

  writeln(n)

end.

Си++

#include <iostream>

using namespace std;

int main()

{

  int s = 0, n = 0;

  while (s < 165) {

    s = s + 15;

    n = n + 2;

  }

  cout << n << endl;

  return 0;

}

 


Ответ:

9
Задание 9 № 10410

Производится двухканальная (стерео) звукозапись с частотой дискретизации 32 кГц и 32-битным разрешением. Результаты записи записываются в файл, сжатие данных не производится; размер полученного файла — 60 Мбайт. Определите приблизительно время записи в минутах. В качестве ответа укажите ближайшее к времени записи целое число.


Ответ:

10
Задание 10 № 3697

Все 5-бук­вен­ные слова, со­став­лен­ные из букв В, И, Н, Т, за­пи­са­ны в ал­фа­вит­ном по­ряд­ке и про­ну­ме­ро­ва­ны. Вот на­ча­ло спис­ка:

1. ВВВВВ

2. ВВВВИ

3. ВВВВН

4. ВВВВТ

5. ВВВИВ

……

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


Ответ:

11
Задание 11 № 6893

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

 

F(1) = 1; F(2) = 2; F(3) = 3;

F(n) = F(n − 3)*n при n >3

 

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


Ответ:

12
Задание 12 № 2239

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

IP-адрес: 146.212.200.55 Маска: 255.255.240.0

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

 

ABCDEFGH
021214624020019255255

 

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

 

ABCDEFGH
1281682558127017192

 

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


Ответ:

13
Задание 13 № 10316

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

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


Ответ:

14
Задание 14 № 3807

Исполнитель РОБОТ умеет перемещаться по прямоугольному лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними по сторонам клетками может стоять стена. Клетка в лабиринте может быть чистая или закрашенная. Закрашенные клетки на рисунке выделены серым цветом.

 

Система команд исполнителя РОБОТ содержит восемь команд. Четыре команды – это команды перемещения:

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

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

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

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

Цикл

ПОКА <условие>

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

КОНЕЦ ПОКА

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

 

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

ЕСЛИ <условие>

ТО команда

КОНЕЦ ЕСЛИ

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

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

 

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

 

НАЧАЛО

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

ПОКА <снизу свободно>

вниз

КОНЕЦ ПОКА

ПОКА <справа свободно>

вправо

КОНЕЦ ПОКА

КОНЕЦ ПОКА

КОНЕЦ


Ответ:

15
Задание 15 № 7991

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

 


Ответ:

16
Задание 16 № 7927

Решите уравнение 121x + 110 = 1019.


Ответ:

17
Задание 17 № 5752

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

 

ЗапросНайдено страниц
(в тысячах)
(теннис|бадминтон) & гольф815
теннис & гольф555
бадминтон & гольф420

 

Компьютер печатает количество страниц (в тысячах), которое будет найдено по следующему запросу: теннис & бадминтон & гольф Укажите целое число, которое напечатает компьютер. Считается, что все запросы выполнялись практически одновременно, так что набор страниц, содержащих все искомые слова, не изменялся за время выполнения запросов.


Ответ:

18
Задание 18 № 18797

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

 

(x > A) ∨ (y > x) ∨ (2y + x < 110)

 

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


Ответ:

19
Задание 19 № 9370

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

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

 

БейсикPython

 c = 0

 FOR i = 1 TO 9

    IF A(i) < A(0) THEN

        c = c + 1

        t = A(i)

        A(i) = A(0)

        A(0) = t

    ENDIF

 NEXT i

 c = 0

 for i in range(1,10):

    if A[i] < A[0]:

        c = c + 1

        t = A[i]

        A[i] = A[0]

        A[0] = t

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

 c := 0;

 for i := 1 to 9 do

    if A[i] < A[0] then

    begin

        c := c + 1;

        t := A[i];

        A[i] := A[0];

        A[0] := t;

    end;

 c := 0

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

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

        c := c + 1

        t := A[i]

        A[i] := A[0]

        A[0] := t

    все

 кц

Си++

 c = 0;

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

    if (A[i] < A[0])

    {

        c++;

        t = A[i];

        A[i] = A[0];

        A[0] = t;

    }

 


Ответ:

20
Задание 20 № 6960

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

сначала 3, а потом 25.

 

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

DIM X, A, B AS INTEGER

INPUT X

A = 0: B = 0

WHILE X > 0

    A = A + 1

    IF (X MOD 2) <> 0 THEN

        B = B+(X MOD 10)

    END IF

    X = X\10

WEND

PRINT A

PRINT B

var x, a, b: integer;

begin

    readln(x);

    a := 0; b := 0;

    while x > 0 do

        begin

            a := a + 1;

            if(x mod 2) <> 0 then

                b := b+(x mod 10);

            x := x div 10;

        end;

    writeln(a); write(b);

end.

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

#include <iostream>

using namespace std;

int main()

{

    int x, a, b;

    cin >> x;

    a = 0; b = 0;

    while (x > 0){

        a = a+1;

        if ((x%2)!=0){

            b = b+(x%10);

        }

        x = x/10;

    }

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

}

алг

нач

цел x, a, b

ввод x

a := 0; b := 0

нц пока x > 0

    a := a+1

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

        b := b+mod(x,10)

    все

    x := div(x,10)

кц

вывод a, нс, b

кон

Python

x = int(input())

a = 0

b = 0

while x > 0:

    a += 1

    if (x % 2) != 0:

        b += (x % 10)

    x //= 10

print(a)

print(b)

 


Ответ:

21
Задание 21 № 19070

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

 

Бей­сикPython

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

A = -20: B = 20

M = A: R = F(A)

FOR T = A TO B

    IF F(T) < R THEN

        M = T

        R = F(T)

    END IF

NEXT T

PRINT M + 27

 

FUNCTION F(x)

    F = 2 * (x * x - 100) * (x * x - 100) + 5

END FUNCTION

def F(x):

    return 2 * (x * x - 100) * (x * x - 100) + 5

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

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

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

function F(x: longint): longint;

    begin

        F := 2 * (x * x - 100) * (x * x - 100) + 5;

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

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

кон

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

нач

    знач := 2 * (x * x - 100) * (x * x - 100) + 5

кон

Си++

#include <iostream>

using namespace std;

 

long F(long x)

{

    return 2 * (x * x - 100) * (x * x - 100) + 5;

}

int main()

{

    long 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 + 27 << endl;

    return 0;

}

 


Ответ:

22
Задание 22 № 18503

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

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

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

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

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

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

Программа для исполнителя РазДваТри — это последовательность команд.

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

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


Ответ:

23
Задание 23 № 3154

Каково наибольшее целое число X, при котором истинно высказывание

 

(50 < X·X) → (50 > (X+1)·(X+1))?

 


Ответ:

24
Задание 24 № 16051

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

 

БейсикPython

DIM N, DIGIT, MINDIGIT AS LONG

INPUT N

MINDIGIT = N MOD 10

WHILE N > 0

    DIGIT = N MOD 10

    IF DIGIT MOD 2 = 0 THEN

        IF DIGIT < MINDIGIT THEN

            MINDIGIT = DIGIT

        END IF

    END IF

    N = N \ 10

WEND

IF MINDIGIT = 0 THEN

    PRINT "NO"

ELSE

    PRINT MINDIGIT

END IF

N = int(input())

minDigit = N % 10

while N > 0:

    digit = N % 10

    if digit % 2 == 0:

        if digit < minDigit:

            minDigit = digit

    N = N // 10

if minDigit == 0:

    print("NO")

else:

    print(minDigit)

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

var N,digit,minDigit: longint;

begin

    readln(N);

    minDigit := N mod 10;

    while N > 0 do

    begin

        digit := N mod 10;

        if digit mod 2 = 0 then

            if digit < minDigit then

                minDigit := digit;

        N := N div 10;

    end;

    if minDigit = 0 then

        writeln('NO')

    else

        writeln(minDigit)

end.

алг

нач

    цел N, digit, minDigit

    ввод N

    minDigit := mod(N,10)

    нц пока N > 0

        digit := mod(N,10)

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

            если digit < minDigit то

                minDigit := digit

            все

        все

        N := div(N,10)

    кц

    если minDigit = 0 то

        вывод "NO"

    иначе

        вывод minDigit

    все

кон

Си++

#include <iostream>

using namespace std;

 

int main() {

        long N, digit, minDigit;

        cin >> N;

        minDigit = N % 10;

        while (N > 0) {

            digit = N % 10;

            if (digit % 2 == 0)

                if (digit < minDigit)

                    minDigit = digit;

            N = N / 10;

        }

        if (minDigit == 0)

            cout << "NO" << endl;

        else

            cout << minDigit << endl;

        return 0;

}

 

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

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

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

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

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

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

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

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

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


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

25
Задание 25 № 7351

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

Локальным максимумом называется элемент массива, который больше всех своих соседей. Например, в массиве из 6 элементов, содержащем числа 4, 6, 12, 7, 3, 8, есть два локальных максимума: это элементы, равные 12 и 8. Программа должна вывести сумму подходящих элементов, значения элементов выводить не нужно. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из описанных.

 

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

N=2014

DIM A(N) AS INTEGER

DIM I, J, K AS INTEGER

FOR I = 1 TO N

INPUT A(I)

NEXT I

END

const

N=2014;

var

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

i, j, k: integer;

begin

for i:=1 to N do

readln(a[i]);

end.

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

#include <iostream>

using namespace std;

#define N 2014

int main(){

int a[N];

int i, j, k;

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

cin >> a[i];

}

алг

нач

цел N=2014

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

цел i, j, k

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

ввод a[i]

кц

кон

Python

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

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

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

a = []

n = 2014

for i in range(0, n):

a.append(int(input()))

...

 

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


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

26
Задание 26 № 6970

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

Игра за­вер­ша­ет­ся в тот мо­мент, когда ко­ли­че­ство кам­ней в куче ста­но­вит­ся не менее 41.

По­бе­ди­те­лем счи­та­ет­ся игрок, сде­лав­ший по­след­ний ход, то есть пер­вым по­лу­чив­ший кучу, в ко­то­рой будет 41 или боль­ше кам­ней. В на­чаль­ный мо­мент в куче было S кам­ней; 1 ≤ S ≤ 40.

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

встре­тить­ся при раз­лич­ной игре про­тив­ни­ка.

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

За­да­ние 1.

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

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

За­да­ние 2.

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

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

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

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

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

За­да­ние 3.

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

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

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

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


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

27
Задание 27 № 13476

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

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

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

 

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

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

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

5

4

15

24

18

60

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

9

У чисел заданного набора реже всего — по одному разу — встречаются суммы 4 и 9, в ответе выводится бóльшая из них.


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