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


Вариант № 5187617

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


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


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

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


Ответ:

2
Задание 2 № 15787

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

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

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

 

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

 

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

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

 

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

 

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


Ответ:

3
Задание 3 № 1014

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

 

ABCDEF
A3
B94
C3938
D32
E4827
F7

 

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


Ответ:

4
Задание 4 № 6176

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

 

Таблица 1
IDФамилия_И.О.Пол
2272Диковец А.Б.Ж
2228Диковец Б.Ф.М
2299Диковец И.Б.М
2378Диковец П.ИМ
2356Диковец Т.И.Ж
2265Тесла А.И.Ж
2331Тесла А.П.М
2261Тесла Л.А.Ж
1217Тесла П.А.М
1202Ландау М.А.Ж
2227Лемешко Д.А.Ж
2240Лемешко В.А.Ж
2246Месяц К.Г.М
2287Лукина Р.Г.Ж
2293Фокус П.А.Ж
2322Друк Г.Р.Ж

Таблица 2
ID_РодителяID_Ребенка
22272272
22272299
22282272
22282299
22722240
22721202
22721217
22992356
22992378
23222356
23222378
23312240
23311202
23311217
23872261
23872293


Ответ:

5
Задание 5 № 16032

Для ко­ди­ро­ва­ния не­ко­то­рой по­сле­до­ва­тель­но­сти, со­сто­я­щей из букв А, Б, В, Г, Д, Е, ре­ши­ли ис­поль­зо­вать не­рав­но­мер­ный дво­ич­ный код, удо­вле­тво­ря­ю­щий усло­вию Фано. Для буквы А ис­поль­зо­ва­ли ко­до­вое слово 0; для буквы Б – ко­до­вое слово 10. Ка­ко­ва наи­мень­шая воз­мож­ная сумма длин ко­до­вых слов для букв В, Г, Д, Е?

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


Ответ:

6
Задание 6 № 18075

На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.

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

2) К этой записи дописываются справа ещё два разряда по следующему правилу:

    а) находится остаток от деления на 2 суммы двоичных разрядов N, полученный результат дописывается в конец двоичной последовательности N.

    б) пункт а повторяется для вновь полученной последовательности.

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


Ответ:

7
Задание 7 № 1625

В электронной таблице значение формулы =CP3HAЧ (D1:D4) равно 8. Чему равно значение формулы = СРЗНАЧ (D2:D4), если значение ячейки D1 равно 11? Пустых ячеек в таблице нет.

 


Ответ:

8
Задание 8 № 3242

Опре­де­ли­те, что будет на­пе­ча­та­но в ре­зуль­та­те ра­бо­ты сле­ду­ю­ще­го фраг­мен­та про­грам­мы:

 

 

Бей­сикPython

DIM N, S AS INTEGER

N = 2

S = 35

WHILE N <= 25

    S = S + 20

    N = N + 5

WEND

PRINT S

n = 2

s = 35

while n <= 25:

    s += 20

    n += 5

print(s)

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

var n, s: integer;

begin

    n := 2;

    s := 35;

    while n <= 25 do

    begin

        s := s + 20;

        n := n + 5;

    end;

    writeln(s);

end.

алг

нач

    цел n, s

    n := 2

    s := 35

    нц пока n <= 25

        s := s + 20

        n := n + 5

    кц

    вывод s

кон

Си++

#include <iostream>

using namespace std;

int main() {

    int n, s;

    n = 2, s = 35;

    while (n <= 25) {

        s = s + 20;

        n = n + 5;

    }

    cout << s << endl;

    return 0;

}

 


Ответ:

9
Задание 9 № 16036

Ав­то­ма­ти­че­ская ка­ме­ра про­из­во­дит раст­ро­вые изоб­ра­же­ния раз­ме­ром 200×256 пик­се­лей. Для ко­ди­ро­ва­ния цвета каж­до­го пик­се­ля ис­поль­зу­ет­ся оди­на­ко­вое ко­ли­че­ство бит, коды пик­се­лей за­пи­сы­ва­ют­ся в файл один за дру­гим без про­ме­жут­ков. Объём файла с изоб­ра­же­ни­ем не может пре­вы­шать 65 Кбайт без учёта раз­ме­ра за­го­лов­ка файла. Какое мак­си­маль­ное ко­ли­че­ство цве­тов можно ис­поль­зо­вать в па­лит­ре?


Ответ:

10
Задание 10 № 5243

Сколько есть различных символьных последовательностей длины от двух до четырёх в трёхбуквенном алфавите

{А, B, C}?


Ответ:

11
Задание 11 № 4658

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

F(1) = 1

F(2) = 1

F(n) = F(n–1) * n − 2 * F(n–2), при n >2

Чему равно зна­че­ние функ­ции F(6)?

В от­ве­те за­пи­ши­те толь­ко на­ту­раль­ное число.


Ответ:

12
Задание 12 № 15628

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

Для узла с IP-адресом 153.82.140.123 адрес сети равен 153.82.136.0. Определите третий слева октет маски подсети.


Ответ:

13
Задание 13 № 6298

Для ре­ги­стра­ции на сайте не­ко­то­рой стра­ны поль­зо­ва­те­лю тре­бу­ет­ся при­ду­мать па­роль. Длина па­ро­ля — ровно 9 сим­во­лов. В ка­че­стве сим­во­лов могут быть ис­поль­зо­ва­ны де­ся­тич­ные цифры и 29 раз­лич­ных букв мест­но­го ал­фа­ви­та, причём все буквы ис­поль­зу­ют­ся в двух на­чер­та­ни­ях: как строч­ные, так и про­пис­ные (ре­гистр буквы имеет зна­че­ние!). Под хра­не­ние каж­до­го та­ко­го па­ро­ля на ком­пью­те­ре от­во­дит­ся оди­на­ко­вое и ми­ни­маль­но воз­мож­ное целое ко­ли­че­ство бай­тов. При этом ис­поль­зу­ет­ся по­сим­воль­ное ко­ди­ро­ва­ние, и все сим­во­лы ко­ди­ру­ют­ся оди­на­ко­вым и ми­ни­маль­но воз­мож­ным ко­ли­че­ством битов. Опре­де­ли­те объём па­мя­ти, ко­то­рый ис­поль­зу­ет­ся для хра­не­ния 20 па­ро­лей. (Ответ дайте в бай­тах.)


Ответ:

14
Задание 14 № 13571

Исполнитель Редактор получает на вход строку цифр и преобразует её.

Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.

А) заменить (v, w).

Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды

заменить (111, 27) преобразует строку 05111150 в строку 0527150.

Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку.

Б) нашлось (v).

Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.

  

Цикл

ПОКА условие

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

КОНЕЦ ПОКА

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

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

ЕСЛИ условие

ТО команда1

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

КОНЕЦ ЕСЛИ

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

 

Ниже приведена программа для исполнителя Редактор.

 

   

НАЧАЛО

ПОКА нашлось (19) ИЛИ нашлось (299) ИЛИ нашлось (3999)

заменить (19, 2)

заменить (299, 3)

заменить (3999, 1)

КОНЕЦ ПОКА

КОНЕЦ

На вход этой программе подаётся строка длины 101, состоящая из цифры 2, за которой следуют 100 идущих подряд цифр 9.

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


Ответ:

15
Задание 15 № 15137

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

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

 


Ответ:

16
Задание 16 № 16819

Значение выражения 1255 + 259 − 30? записали в системе счисления с основанием 5.

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


Ответ:

17
Задание 17 № 11313

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

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

 

ЗапросНайдено страниц
(в тысячах)
Юпитер & (Марс | Сатурн)467
Марс & Юпитер274
Марс & Юпитер & Сатурн119

 

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

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


Ответ:

18
Задание 18 № 13695

Обозначим через m&n поразрядную конъюнкцию неотрицательных целых чисел m и n.

Так, например, 14&5 = 11102&01012 = 01002 = 4.

Для какого наибольшего целого числа А формула

 

x&51 = 0 ∨ (x&41 = 0 → x&А = 0)

 

тождественно истинна (т. е. принимает значение 1 при любом неотрицательном целом значении переменной x)?


Ответ:

19
Задание 19 № 4930

В программе описан одномерный целочисленный массив с индексами от 0 до 10. Ниже представлен записанный на разных языках программирования,фрагмент одной и той же программы, обрабатывающей данный массив:

 

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

s=0

n = 10

FOR i = 0 TO n

    IF A(n − i)-A(i) > A(i) THEN

        s = s + A(i)

    END IF

NEXT i

s := 0;

n := 10;

for i:=0 to n do begin

    if A[n - i] - A[i] > A[i] then

        s := s + A[i];

end;

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

s = 0;

n = 10;

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

    if(A[n - i]-A[i] > A[i]) {

        s = s+ A[i];

    }

}

s := 0

n:=10

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

    если A[n - i] - A[i] > A[i]

        то s := s + A[i]

все

кц

Python

s = 0

n = 10

for i in range(0, n+1):

    if A[n - i]-A[i] > A[i]:

        s = s+ A[i]

 

 

В начале выполнения этого фрагмента в массиве находились числа 0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, т.е. A[0] = 0, A[1] = 10 и т. д. Чему будет равно значение переменной s после выполнения данной программы?


Ответ:

20
Задание 20 № 13631

Ниже на различных языках программирования записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа a и b. Сколько существует таких чисел x, при вводе которых алгоритм печатает сначала 2, а потом 0?

 

 

БейсикPython

DIM X, A, B AS INTEGER

INPUT X

A = 0: B = 1

WHILE X > 0

A = A + 1

B = B*(X MOD 10)

X = X\10

WEND

PRINT A

PRINT B

x=int(input())

a=0; b=1

while x>0:

    a=a+1

    b=b*(x%10)

    x=x//10

print(a,"\n",b)

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

var x, a, b: integer;

begin

    readln(x);

    a := 0; b := 1;

     while x > 0 do

    begin

        a := a+1;

        b := b*(x mod 10);

        x := x div 10;

    end;

    writeln(a); write(b);

end.

алг

нач

    цел x, a, b

    ввод x

    a := 0; b := 1

    нц пока x > 0

        a := a+1

        b := b*mod(x,10)

        x := div(x,10)

    кц

    вывод a, нс, b

кон

Си++

#include <iostream>

using namespace std;

int main()

{

    int x, a, b;

    cin >> x;

    a = 0; b = 1;

    while (x > 0){

        a = a+1;

        b = b*(x%10);

        x = x/10;

    }

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

    return 0;

}

 


Ответ:

21
Задание 21 № 13367

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

 

Бей­сикPython

DIM K, I AS LONG

INPUT K

I = 1

WHILE F(I) < K

    I = I + 1

WEND

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

    PRINT I

ELSE

    PRINT I-1

END IF

FUNCTION F(N)

    F = N * N * N

END FUNCTION

def f(n):

    return n*n*n

i = 1

k = int(input())

while f(i) < k:

    i+=1

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

    print (i)

else:

    print (i - 1)

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

var

    k, i : longint;

 

function f(n: longint) : longint;

begin

    f := n * n * n;

end;

begin

    readln(k);

    i := 1;

    while f(i) < k do

        i := i+1;

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

        writeln(i)

    else

        writeln(i-1);

end.

алг

нач

    цел i, k

    ввод k

    i := 1

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

        i := i + 1

    кц

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

    вывод i

    иначе

        вывод i-1

    все

кон

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

нач

    знач := n * n * n

кон

Си++

#include <iostream>

using namespace std;

long f(long n) {

    return n * n * n;

}

 

int main()

{

    long k, i;

    cin >> k;

    i = 1;

    while (f(i) < k)

        i++;

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

        cout << i << endl;

    } else {

        cout << i-1 << endl;

    }

}

 


Ответ:

22
Задание 22 № 19071

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

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

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

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

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

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

Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы 121 при исходном числе 7 траектория будет состоять из чисел 8, 16, 17.


Ответ:

23
Задание 23 № 16398

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

 

(x1y1) ∧ (x1x2) ∧ ¬(x1x2) = 1

(x2y2) ∧ (x2x3) ∧ ¬(x2x3) = 1

...

(x8y8) ∧ (x8x9) ∧ ¬(x8x9) = 1

(x9y9) = 1

 

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


Ответ:

24
Задание 24 № 7350

Дано на­ту­раль­ное число N, не пре­вос­хо­дя­щее 108. Не­об­хо­ди­мо найти и вы­ве­сти число, ко­то­рое по­лу­чит­ся при за­пи­си N спра­ва на­ле­во и уда­ле­нии всех де­вя­ток. Ве­ду­щие нули вы­во­дить не надо. Если в числе N нет цифр кроме де­вя­ток и нулей, не­об­хо­ди­мо вы­ве­сти 0. На­при­мер, при вводе числа 1984 нужно вы­ве­сти 481, а при вводе 2009 нужно вы­ве­сти 2. Для ре­ше­ния этой за­да­чи уче­ник на­пи­сал такую про­грам­му:

 

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

DIM N, M AS LONG

DIM D AS INTEGER

INPUT N

M = 0

WHILE N>1

D = N MOD 10

IF D<9 THEN

M = M + D

END IF

N = N \ 10

WEND

PRINT M

END

var n, m: longint;

d: integer;

begin

read(n);

m := 0;

while n>1 do begin

d := n mod 10;

if d < 9 then begin

m := m + d;

end;

n := n div 10;

end;

write(m);

end.

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

#include <iostream>

using namespace std;

int main(){

long int n, m;

int d;

cin >> n;

m = 0;

while (n>1) {

d = n%10;

if (d<9) {

m = m + d;

}

n = n / 10;

}

cout << m;

}

алг

нач

цел n, m

цел d

ввод n

m := 0

нц пока n>1

d := mod(n,10)

если d<9 то

m := m + d

все

n := div(n,10)

кц

вывод m

кон

Python

n = int(input())

m = 0

while n > 1:

    d = n % 10

    if d < 9:

        m = m + d

    n //= 10

print(m)

 

 

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

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

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

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

 

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


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

25
Задание 25 № 3610

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

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

 

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

const

N = 30;

var

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

i, j, x: integer;

begin

for i := 1 to N do

readln(a[i]);

readln(x);

...

end.

N = 30

DIM A (N) AS INTEGER

DIM I, J, X AS INTEGER

FOR I = 1 TO N

INPUT A (I)

NEXT I

INPUT X

...

END

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

#include <iostream>

using namespace std;

#define N 30

int main(void)

{int a[N];

int i, j, x;

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

cin >> a[i];

cin >> x;

}

алг

нач

цел N = 30

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

цел i, j, х

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

ввод a [i]

кц

ввод X

...

кон

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

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

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

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

Вводит переменную X.

...

Python

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

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

a = []

n = 30

for i in range(0, n):

    a = int(input())

    x = int(input())

 

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


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

26
Задание 26 № 5225

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

 

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

 

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

 

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

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

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

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

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

 

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

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

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

 

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


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

27
Задание 27 № 17391

Дана последовательность N целых положительных чисел. Рассматриваются все пары элементов последовательности, находящихся на расстоянии не меньше 6 (разница в индексах элементов должна быть 6 или более). Необходимо определить количество пар, сумма чисел в которых чётна.

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

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

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

8

1

3

5

4

6

7

9

8

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

1

Пояснение. Из 8 чисел можно составить 3 пары, удовлетворяющие условию. Это будут элементы с индексами 1 и 7, 1 и 8, 2 и 8. Для заданного набора чисел получаем пары (1, 9), (1, 8), (3, 8). Суммы чисел в этих парах равны 10, 9, 11. Чётная сумма — одна.

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

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

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

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

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

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

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

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


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