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


Вариант № 4718219

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


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


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

Сколь­ко еди­ниц в дво­ич­ной за­пи­си де­ся­тич­но­го числа 127?


Ответ:

2
Задание 2 № 17366

Ло­ги­че­ская функ­ция F задаётся вы­ра­же­ни­ем ((xw) ∨ (wz)) ≡ ((zy) ∧ (yx)).

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

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

 

Пе­ре­мен­ная 1Пе­ре­мен­ная 2Пе­ре­мен­ная 3Пе­ре­мен­ная 4Функ­ция
????????????F
10111
1001
1001

 

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

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

 

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

 

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


Ответ:

3
Задание 3 № 3490

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

 

ABCDEF
A41133
B44
C11471120
D713
E118
F3320138

 

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


Ответ:

4
Задание 4 № 3756

Сколько записей удовлетворяют условию «Пол = 'ж' или География < История»?

 

Фамилия  Пол Биология История Физика География Обществознание 
Алексееваж7064686163
Борисовм8288656869
Васильевм8576747974
Григорьеваж7778868777
Евстигнееваж8179797875
Захарьевм7260727065

 


Ответ:

5
Задание 5 № 13616

По каналу связи передаются сообщения, содержащие только пять букв: П, И, Л, О, Т. Для передачи используется двоичный код, удовлетворяющий условию Фано. Для буквы И используется кодовое слово 1; для буквы О используется кодовое слово 01.

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


Ответ:

6
Задание 6 № 3419

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

 

1. умножь на 2

2. вычти 1

 

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

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

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

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

 

умножь на 2

вычти 1

умножь на 2

вычти 1

умножь на 2,

 

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


Ответ:

7
Задание 7 № 11343

Дан фраг­мент элек­трон­ной таб­ли­цы. Из ячей­ки A2 в ячей­ку B3 была ско­пи­ро­ва­на фор­му­ла. При ко­пи­ро­ва­нии ад­ре­са ячеек в фор­му­ле ав­то­ма­ти­че­ски из­ме­ни­лись. За­пи­ши­те в от­ве­те чис­ло­вое зна­че­ние фор­му­лы в ячей­ке B3.

 

АBCDE
1404400807
2=C$2+D$33300706
320200505
4101100304

 

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


Ответ:

8
Задание 8 № 6003

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

 

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

DIM N, S AS INTEGER

N = 0

S = 0

WHILE S <= 325

S = S + 10

N = N + 3

WEND

PRINT N

var n, s: integer;

begin

    n := 0;

    s := 0;

    while s <= 325 do

    begin

        s := s + 10;

        n := n + 3

    end;

    write (n)

end.

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

#include <iostream>

using namespace std;

int main ()

{

    int n, s;

    n = 0;

    s = 0;

    while (s <= 325)

    {

        s = s + 10;

        n = n + 3;

    }

    cout « n « endl;

}

алг

нач

целn, s

n := 0

s := 0

нц пока s <= 325

    s := s + 10

    n := n + 3

кц

вывод n

кон

Python

n = 0

s = 0

while s <= 325:

    s += 10

    n += 3

print(n)

 


Ответ:

9
Задание 9 № 2510

Электронный почтовый ящик имеет объем 3 Мбайт. Информация на его адрес по открытому на прием каналу связи передается со скоростью 2,56 Кбайт/с. Через какое время у поставщика услуг электронной почты появится повод прислать уведомление о переполнении почтового ящика? Укажите время в секундах.


Ответ:

10
Задание 10 № 5211

Сколько есть различных символьных последовательностей длины от одного до четырёх в трёхбуквенном алфавите {А, B, C}?


Ответ:

11
Задание 11 № 9646

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

 

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

SUB F(n)

  IF n > 0 THEN

    F(n - 4)

    PRINT n

    F(n \ 3)

  END IF

END SUB

procedure F(n: integer);

begin

  if n > 0 then

  begin

    F(n - 4);

    writeln(n);

    F(n div 3)

  end

end;

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

void F(int n)

{

if (n > 0)

  {

    F(n - 4);

    cout << n;

    F(n / 3);

  }

}

алг F(цел n)

нач

  если n > 0 то

F(n - 4)

вывод n, нс

F(div(n, 3))

  все

кон 

Python

def F(n):

    if n > 0:

        F(n - 4)

        print(n)

        F(n // 3)

 

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


Ответ:

12
Задание 12 № 11268

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

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

Для узла с IP-адресом 195.227.196.12 адрес сети равен 195.227.192.0. Чему равно наибольшее возможное значение третьего слева байта маски? Ответ запишите в виде десятичного числа.


Ответ:

13
Задание 13 № 5834

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


Ответ:

14
Задание 14 № 6260

Система команд исполнителя РОБОТ, «живущего» в прямоугольном лабиринте на клетчатой плоскости, включает в себя 4 команды-приказа и 4 команды проверки условия. Команды-приказы: вверх, вниз, влево, вправо. При выполнении любой из этих команд РОБОТ перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если РОБОТ начнёт движение в сторону находящейся рядом с ним стены, то он разрушится, и программа прервётся.

 

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

 

ПОКА условие

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

КОНЕЦ ПОКА

 

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

 

ЕСЛИ условие

ТО команда1

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

КОНЕЦ ЕСЛИ

 

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

 

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

 

НАЧАЛО

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

ЕСЛИ сверху свободно

ТО вверх

ИНАЧЕ вправо

КОНЕЦ ЕСЛИ

КОНЕЦ ПОКА

КОНЕЦ


Ответ:

15
Задание 15 № 3523

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


Ответ:

16
Задание 16 № 2338

В си­сте­ме счис­ле­ния с не­ко­то­рым ос­но­ва­ни­ем де­ся­тич­ное число 25 за­пи­сы­ва­ет­ся как 100. Най­ди­те это ос­но­ва­ние.


Ответ:

17
Задание 17 № 7928

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

 

За­просНай­де­но стра­ниц, тыс.
Но­во­си­бирск & (Крас­но­ярск & Ха­ба­ровск | Но­рильск)570
Но­во­си­бирск & Но­рильск214
Но­во­си­бирск & Крас­но­ярск & Ха­ба­ровск & Но­рильск68

 

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

 

Но­во­си­бирск & Крас­но­ярск & Ха­ба­ровск?

 

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


Ответ:

18
Задание 18 № 17336

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

 

(3x + 4y ≠ 60) ∨ ((Ax) ∧ (Ay))

 

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


Ответ:

19
Задание 19 № 9769

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

  END IF

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

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

 

БейсикPython

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

x = int(input())

a=0; b=0

while x>0:

  a = a+1

  if x%2==0:

    b += x%10

  x = x//10

print(a, 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.

алг

нач

  цел 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

кон

Си++

#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;

  return 0;

}

 


Ответ:

21
Задание 21 № 10484

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

 

 

БейсикPython

DIM K, I AS LONG

INPUT K

I = 1

WHILE F(I) < G(K)

    I = I + 1

WEND

PRINT I

 

FUNCTION F(N)

  F = N * N * N

END FUNCTION

 

FUNCTION G(N)

  G = 2*N + 1

END FUNCTION

def f(n):

  return n*n*n

 

def g(n):

  return 2*n + 1

 

k = int(input())

i = 1

while f(i) < g(k):

  i += 1

print (i)

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

var

  k, i : longint;

 

function f(n: longint): longint;

begin

  f := n * n * n;

end;

 

function g(n: longint): longint;

begin

  g := 2*n + 1;

end;

 

begin

  readln(k);

  i := 1;

  while f(i) < g(k) do

    i := i + 1;

  writeln(i)

end.

алг

нач

  цел i, k

  ввод k

  i := 1

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

    i := i + 1

  кц

  вывод i

кон

 

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

нач

  знач := n * n * n

кон

 

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

нач

  знач := 2*n + 1

кон

Си++

#include <iostream>

using namespace std;

long f(long n) {

  return n * n * n;

}

 

long g(long n) {

  return 2*n + 1;

}

 

int main()

{

  long k, i;

  cin >> k;

  i = 1;

  while (f(i) < g(k))

    i++;

  cout << i << endl;

  return 0;

}

 


Ответ:

22
Задание 22 № 7933

Исполнитель А22 преобразует целое число, записанное на экране. У исполнителя три команды, каждой команде присвоен номер:

1) Прибавь 1

2) Прибавь 2

3) Прибавь предыдущее

Первая команда увеличивает число на экране на 1, вторая увеличивает это число на 2, третья прибавляет к числу на экране число, меньшее на 1 (к числу 3 прибавляется 2, к числу 11 прибавляется 10 и т. д.). Программа для исполнителя А22 — это последовательность команд. Сколько существует программ, которые число 2 преобразуют в число 9?


Ответ:

23
Задание 23 № 3155

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

 

((K ∨ L) → (L ∧ M ∧ N)) = 0

 

где K, L, M, N – ло­ги­че­ские пе­ре­мен­ные? В От­ве­те не нужно пе­ре­чис­лять все раз­лич­ные на­бо­ры зна­че­ний K, L, M и N, при ко­то­рых вы­пол­не­но дан­ное ра­вен­ство. В ка­че­стве От­ве­та Вам нужно ука­зать ко­ли­че­ство таких на­бо­ров.


Ответ:

24
Задание 24 № 13751

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

 

БейсикPython

DIM N, DIGIT, MAXDIGIT AS LONG

INPUT N

MAXDIGIT = N MOD 10

WHILE N > 0

    DIGIT = N MOD 10

    IF DIGIT MOD 5 = 0 THEN

        IF DIGIT > MAXDIGIT THEN

            MAXDIGIT = DIGIT

        END IF

    END IF

    N = N \ 10

WEND

IF MAXDIGIT = 0 THEN

    PRINT "NO"

ELSE

    PRINT MAXDIGIT

END IF

N = int(input())

maxDigit = N % 10

while N > 0:

    digit = N % 10

    if digit % 5 == 0:

        if digit > maxDigit:

            maxDigit = digit

    N = N // 10

if maxDigit == 0:

    print("NO")

else:

    print(maxDigit)

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

var N,digit,maxDigit: longint;

begin

    readln(N);

    maxDigit := N mod 10;

    while N > 0 do

    begin

        digit := N mod 10;

        if digit mod 5 = 0 then

            if digit > maxDigit then

                maxDigit := digit;

        N := N div 10;

    end;

    if maxDigit = 0 then

        writeln('NO')

    else

        writeln(maxDigit)

end.

алг

нач

    цел N, digit, maxDigit

    ввод N

    maxDigit := mod(N,10)

    нц пока N > 0

        digit := mod(N,10)

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

            если digit > maxDigit то

                maxDigit := digit

            все

        все

        N := div(N,10)

    кц

    если maxDigit = 0 то

        вывод "NO"

    иначе

        вывод maxDigit

    все

кон

Си++

#include <iostream>

using namespace std;

 

int main() {

        long N, digit, maxDigit;

        cin >> N;

        maxDigit = N % 10;

        while (N > 0) {

            digit = N % 10;

            if (digit % 5 == 0)

                if (digit > maxDigit)

                    maxDigit = digit;

            N = N / 10;

        }

        if (maxDigit == 0)

            cout << "NO" << endl;

        else

            cout << maxDigit << endl;

        return 0;

}

 

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

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

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

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

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

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

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

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


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

25
Задание 25 № 5405

Дан целочисленный массив из 20 элементов. Элементы массива могут принимать целые значения от −1000 до 1000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести минимальное значение среди положительных элементов массива, не кратных 3. Если в исходном массиве нет элемента, значение которого положительно и не делится на 3, то вывести сообщение «Не найдено».

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

 

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

N = 20

DIM A(N) AS INTEGER

DIM I, J, MIN AS INTEGER

FOR I = 1 TO N

    INPUT A(I)

NEXT I

...

END

const

    N = 20;

var

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

    i, j, min: integer;

begin

    for i := 1 to N do

        readln(a[i]);

    ...

end.

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

#include <iostream>

using namespace std;

#define N 20

int main() {

    int a[N];

    int i, j, min;

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

        cin >> a[i];

...

}

алг

нач

    цел N = 20

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

    цел i, j, min

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

        ввод a[i]

    кц

    ...

кон

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

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

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

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

Python

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

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

a = []

n = 20

for i in range(0, n):

a.append(int(input()))

 

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


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

26
Задание 26 № 13372

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

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

 

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

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

Задание 1

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

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

 

Задание 2

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

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

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

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

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

 

Задание 3

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

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

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

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

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


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

27
Задание 27 № 10517

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

Необходимо найти в заданной серии показаний датчика минимальное чётное произведение двух показаний, между моментами передачи которых прошло не менее 8 секунд. Если получить такое произведение не удаётся, ответ считается равным -1. Общее количество показаний датчика в серии не превышает 10 000.

Вам предлагается два задания, связанных с этой задачей: задание А и задание Б. Вы можете решать оба задания или одно из них по своему выбору. Итоговая оценка выставляется как максимальная из оценок за задания А и Б. Если решение одного из заданий не представлено, то считается, что оценка за это задание — 0 баллов.

Задание Б является усложнённым вариантом задания А, оно содержит дополнительные требования к программе.

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

ОБЯЗАТЕЛЬНО укажите, что программа является решением ЗАДАНИЯ А. Максимальная оценка за выполнение задания А — 2 балла.

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

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

ОБЯЗАТЕЛЬНО укажите, что программа является решением ЗАДАНИЯ Б. Максимальная оценка за правильную программу, эффективную по времени и по памяти, — 4 балла.

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

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

Входные данные представлены следующим образом. В первой строке задаётся число N — общее количество показаний датчика. Гарантируется, что N > 8. В каждой из следующих N строк задаётся одно неотрицательное целое число — очередное показание прибора.

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

10

5

4

3

2

1

6

7

8

9

4

Программа должна вывести одно число — описанное в условии произведение, либо -1, если получить такое произведение не удаётся.

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

16 


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