СДАМ ГИА






Вариант № 2851249

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


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



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

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

 

111100012; 111111102; 111111112; 110111112; 111111012.

 

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


Ответ:

2
Задание 2 № 4921

Дан фрагмент таблицы истинности выражения F:

 

x1x2x3x4x5x6x7x8x9x10F
01011101111
10110011101
01010100100

 

Каким из приведённых ниже выражений может быть F?

 

1) x1 ∧ ¬x2 ∧ x3 ∧ ¬x4 ∧ x5 ∧ ¬x6 ∧ ¬x7 ∧ x8 ∧ ¬x9 ∧ x10

2) x1 ∨ ¬x2 ∨ x3 ∨ ¬x4 ∨ x5 ∨ ¬x6 ∨ x7 ∨ x8 ∨ ¬x9 ∨ x10

3) ¬x1 ∨ x2 ∨ ¬x3 ∨ x4 ∨ ¬x5 ∨ x6 ∨ ¬x7 ∨ ¬x8 ∨ x9 ∨ ¬x10

4) ¬x1 ∧ x2 ∧ ¬x3 ∧ x4 ∧ ¬x5 ∧ x6 ∧ ¬x7 ∧ ¬x8 ∧ x9 ∧ ¬x10


Ответ:

3
Задание 3 № 1015

В таблице приведена стоимость перевозки пассажиров между соседними населенными пунктами. Укажите схему, соответствующую таблице.

 

1)

2)

3)

4)


Ответ:

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 № 3671

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


Ответ:

6
Задание 6 № 3423

Исполнитель КАЛЬ­КУ­ЛЯ­ТОР имеет толь­ко две команды, ко­то­рым присвоены номера:

 

1. умножь на 2

2. при­бавь 1

 

Выполняя ко­ман­ду номер 1, КАЛЬ­КУ­ЛЯ­ТОР умножает число на экра­не на 2, а выполняя

команду номер 2, при­бав­ля­ет к числу на экра­не 1. На­пи­ши­те программу, со­дер­жа­щую не

более 5 команд, ко­то­рая из числа 6 по­лу­ча­ет число 33. Ука­жи­те лишь но­ме­ра команд.

Например, про­грам­ма 12122 -это программа:

 

умножь на 2

прибавь 1

умножь на 2

прибавь 1

прибавь 1,

 

которая пре­об­ра­зу­ет число 5 в число 24.


Ответ:

7
Задание 7 № 4975

Дан фраг­мент электронной таблицы:

 

ABC
15=A1*2
2=B1/5=A1/B1=B2+C1/10

Какое число долж­но быть за­пи­са­но в ячей­ке B1, чтобы по­стро­ен­ная после вы­пол­не­ния вычислений диа­грам­ма по зна­че­ни­ям диапазона ячеек A2:C2 со­от­вет­ство­ва­ла рисунку?

Известно, что все зна­че­ния диапазона, по ко­то­рым построена диаграмма, имеют один и тот же знак.


Ответ:

8
Задание 8 № 8656

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

 

БейсикPython

DIM S, N AS INTEGER

S = 78

N = 0

WHILE N < 12

    S = S – 8

    N = N + 2

WEND

PRINT(S)

s = 78

n = 0

while n < 12:

    s = s - 8

    n = n + 2

print(s)

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

var s, n: integer;

begin

    s := 78;

    n := 0;

    while n < 12 do

    begin

        s := s – 8;

        n := n + 2

    end;

    writeln(s)

end.

алг

нач

    цел s, n

    s := 78

    n := 0

    нц пока n < 12

        s := s — 8

        n := n + 2

    кц

    вывод s

кон

Си

#include <stdio.h>

int main(void)

{

    int s, n;

    s = 78;

    n = 0;

    while (n < 12) {

        s = s – 8;

        n = n + 2;

    }

    printf("%d\n", s);

}

 


Ответ:

9
Задание 9 № 9795

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


Ответ:

10
Задание 10 № 10286

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


Ответ:

11
Задание 11 № 13357

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

 

БейсикPython

SUB F(n)

  PRINT n,

  IF n >= 3 THEN

    F(n - 1)

    F(n - 3)

  END IF

END SUB

def F(n):

    print(n, end='')

    if n >= 3:

        F(n - 1)

        F(n - 3)

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

procedure F(n: integer);

begin

  write(n);

  if n >= 3 then

  begin

    F(n - 1);

    F(n - 3)

  end

end;

алг F(цел n)

нач

  вывод n

  если n >= 3 то

    F(n - 1)

    F(n - 3)

  все

кон

Си

void F(int n) {

    printf("%d", n);

    if (n >= 3) {

        F(n - 1);

        F(n - 3);

    }

}

 

 

Что выведет программа при вызове F(5)? В ответе запишите последовательность выведенных цифр слитно (без пробелов).


Ответ:

12
Задание 12 № 6816

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

 

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

Маска: 255.255.240.0

 

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

 

ABCDEFGH
255249240224373280

 

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

 

ABCDEFGH
1281682558127017192

 

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


Ответ:

13
Задание 13 № 1904

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


Ответ:

14
Задание 14 № 5836

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

Команды-приказы:

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

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

 

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

 

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

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

Цикл

 

ПОКА условие

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

КОНЕЦ ПОКА

 

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

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

 

ЕСЛИ условие

ТО команда1

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

КОНЕЦ ЕСЛИ

 

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

 

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

 

НАЧАЛО

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

ЕСЛИ слева свободно

ТО влево

ИНАЧЕ вниз

КОНЕЦ ЕСЛИ

КОНЕЦ ПОКА

КОНЕЦ


Ответ:

15
Задание 15 № 10416

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


Ответ:

16
Задание 16 № 7460

Сколько еди­ниц со­дер­жит­ся в дво­ич­ной за­пи­си зна­че­ния выражения: 42014 + 22015 − 8?


Ответ:

17
Задание 17 № 14232

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

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

 

ЗапросНайдено стра­ниц
(в сотнях тысяч)
Линкор | Корвет3400
Линкор & Корвет1300
Линкор2100

 

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

 

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


Ответ:

18
Задание 18 № 5737

На чис­ло­вой пря­мой даны два отрезка: Р = [3, 38] и Q = [21, 57]. Вы­бе­ри­те из пред­ло­жен­ных от­рез­ков такой от­ре­зок А, что ло­ги­че­ское выражение

 

((х ∈ Q) → (х ∈ Р)) → ¬(х ∈ A)

 

тождественно истинно, то есть при­ни­ма­ет зна­че­ние 1 при любом зна­че­нии пе­ре­мен­ной х.

 

1) [6,20]

2) [22,35]

3) [42,55]

4) [20,40]


Ответ:

19
Задание 19 № 3382

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

 

for i:=0 to 10 do A[i]:=i;

for i:=0 to 4 do begin

    k:=A[10-i];

    A[10-i]:=A[i];

    k:=A[i];

end;

 

Чему будут равны элементы этого массива?

 

1) 10 9 8 7 6 5 4 3 2 1 0

2) 0 1 2 3 4 5 6 7 8 9 10

3) 0 1 2 3 4 5 4 3 2 1 0

4) 10 9 8 7 6 5 6 7 8 9 10


Ответ:

20
Задание 20 № 8668

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

Укажите наи­мень­шее по­ло­жи­тель­ное пя­ти­знач­ное число x, при ко­то­ром после вы­пол­не­ния ал­го­рит­ма будет на­пе­ча­та­но сна­ча­ла 4, а потом 2.

 

Бейсик Python

DIM X, Y, A, B AS INTEGER

A = 0

B = 0

INPUT X

WHILE X > 0

    Y = X MOD 10

    IF Y > 3 THEN A = A + 1

    IF Y < 8 THEN B = B + 1

    X = X \ 10

WEND

PRINT A

PRINT B

a = 0

b = 0

x = int(input())

while x > 0:

    y = x % 10

    if y > 3:

        a = a+1

    if y < 8:

        b = b+1

    x = x // 10

print(a)

print(b)

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

алг

нач

    цел x, y, a, b

    a := 0

    b := 0

    ввод x

    нц пока x > 0

        y := mod(x, 10)

        если y > 3

            то a := a + 1

        все

        если y < 8

            то b := b + 1

        все

        x := div(x, 10)

    кц

    вывод a, нс, b

кон

var x, y, a, b: integer;

begin

    a := 0;

    b := 0;

    readln(x);

    while x > 0 do

    begin

        y := x mod 10;

        if y > 3 then

            a := a + 1;

        if y < 8 then

            b := b + 1;

        x := x div 10

    end;

    writeln(a);

    writeln(b)

end.

Си

#include <stdio.h>

int main()

{

    int x, y, a, b;

    a = 0;

    b = 0;

    scanf("%d", &x);

    while (x > 0)

    {

        y = x % 10;

        if (y > 3)

            a = a + 1;

        if (y < 8)

            b = b + 1;

        x = x / 10;

    }

    printf("%d\n%d\n", a, b);

}

 


Ответ:

21
Задание 21 № 3331

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

 

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

Function F(x:integer):integer;

begin

    F:=(x+5)*(x+3);

end;

BEGIN

    a:= -5; b:=5;

    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(R);

END.


Ответ:

22
Задание 22 № 9772

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

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

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

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

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

Сколько су­ще­ству­ет программ, для ко­то­рых при ис­ход­ном числе 2 ре­зуль­та­том яв­ля­ет­ся число 33 и при этом тра­ек­то­рия вы­чис­ле­ний со­дер­жит число 16 и не со­дер­жит числа 30?

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


Ответ:

23
Задание 23 № 5851

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

 

¬(x1 ≡ x2) ∧ (x1 ∨ x3) ∧ (¬x1 ∨ ¬x3) = 0

¬(x2 ≡ x3) ∧ (x2 ∨ x4) ∧ (¬x2 ∨ ¬x4) = 0

...

¬(x8 ≡ x9) ∧ (x8 ∨ x10) ∧ (¬x8 ∨ ¬x10) = 0

 

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


Ответ:

24
Задание 24 № 10327

Даны целые по­ло­жи­тель­ные числа M и N. Не­об­хо­ди­мо опре­де­лить ко­ли­че­ство таких целых чисел K, для ко­то­рых вы­пол­ня­ет­ся неравенство

 

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

 

БейсикPython

DIM M, N, K, T AS INTEGER

INPUT M, N

K = 1

T = 1

WHILE K*K*K <= N

  IF K*K*K > M THEN T = T + 1

  K = K + 1

WEND

PRINT T

END

m = int(input())

n = int(input())

k = 1

t = 1

while k*k*k <= n:

  if k*k*k > m:

    t = t+1

  k = k + 1

print(t)

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

var m, n, k, t: integer;

begin

  read(m, n);

  k := 1;

  t := 1;

  while k*k*k <= n do begin

    if k*k*k > m

      then t := t + 1;

    k := k + 1;

  end;

  writeln(t)

end.

алг

нач

  цел m, n, k, t

  ввод m, n

  k := 1

  t := 1

  нц пока k*k*k <= n

    если k*k*k > m

      то t := t+1

    все

    k := k+1

  кц

  вывод t

кон

Си

#include <stdio.h>

int main(){

  int m, n, k, t;

  scanf("%d %d", &m, &n);

  k = 1;

  t = 1;

  while (k*k*k <= n) {

    if (k*k*k > m) t = t + 1;

    k = k + 1;

  }

  printf("%d", t);

  return 0;

}

 

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

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

2. При­ве­ди­те при­мер таких чисел M и N, при вводе ко­то­рых про­грам­ма вы­ве­дет вер­ный ответ. Ука­жи­те этот ответ.

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

Для каж­дой ошиб­ки вы­пи­ши­те строку, в ко­то­рой она допущена, и при­ве­ди­те эту же стро­ку в ис­прав­лен­ном виде.

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


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

25
Задание 25 № 3622

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

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

 

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

N = 40

DIM A(N) AS INTEGER

DIM I, L, LMAX, S, SMAX AS INTEGER

FOR I = 1 TO N

INPUT A (I)

NEXT I

...

END

const

N = 40;

var

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

i, l, lmax, s, smax:

integer;

begin

for i : = 1 to N do

readln(a[i]);

...

end.

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

#include <stdio.h>

#define N 40

void main(void)

{int a [N]; int

i, l, lmax, s, smax;

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

scanf ("%d", & a [ i ] ) ;

...

}

алг

нач

цел N = 40

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

цел i, L, Lmax, S, Smax

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

ввод a[i]

кц

...

кон

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

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

Объ­яв­ля­ем це­ло­чис­лен­ные пе­ре­мен­ные I, L, Lmax, S, Smax.

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

...

 

 

 

 

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


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

26
Задание 26 № 11328

Два игрока, Паша и Валя, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Паша. За один ход игрок может добавить в кучу 1 камень или увеличить число камней в 2 раза. Например, имея кучу из 7 камней, за один ход можно получить кучу из 8 или 14 камней. У каждого игрока, чтобы делать ходы, есть неограниченное количество камней. Игра завершается в тот момент, когда количество камней в куче становится не менее 24. Победителем считается игрок, сделавший последний ход, то есть первым получивший кучу, в которой будет 24 или больше камней. Но, если камней в куче становится больше 38, то проигрывает тот, кто сделал последний ход. Например, в куче было 20 камней. Паша, удвоив количество камней, получил 40. В таком случае выигрывает не Паша, а Валя.

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

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

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

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

б) Кто имеет выигрышную стратегию при S = 22, 21, 20?

2. Кто имеет выигрышную стратегию при S = 10, 11?

3. Кто имеет выигрышную стратегию при S = 9? Опишите эту стратегию, постройте дерево ходов.


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

27
Задание 27 № 5407

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

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

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

Перед тек­стом про­грам­мы крат­ко опи­ши­те ис­поль­зу­е­мый Вами ал­го­ритм ре­ше­ния задачи.

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

 

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

 

5

123

2

−1000

0

10

 

Программа долж­на вы­ве­сти в по­ряд­ке воз­рас­та­ния но­ме­ра частиц, ско­ро­сти ко­то­рых при­над­ле­жат ос­нов­но­му мно­же­ству дан­ной серии. Ну­ме­ра­ция ча­стиц ведётся с единицы.

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

 

1 2 3 5


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




     О проекте · Редакция

© Гущин Д. Д., 2011—2017


СПб ГУТ! С! Ф! У!