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


Вариант № 5152509

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


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


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

Переведите в десятичную систему двоичное число 1010012.


Ответ:

2
Задание 2 № 11258

Ло­ги­че­ская функ­ция F задаётся вы­ра­же­ни­ем

 

¬z ∨ (¬x ∧ y).

 

На ри­сун­ке при­ведён фраг­мент таб­ли­цы ис­тин­но­сти функ­ции F, со­дер­жа­щий все на­бо­ры ар­гу­мен­тов, при ко­то­рых функ­ция F ис­тин­на. Опре­де­ли­те, ка­ко­му столб­цу таб­ли­цы ис­тин­но­сти функ­ции F со­от­вет­ству­ет каж­дая из пе­ре­мен­ных x, y, z.

 

Перем. 1Перем. 2Перем. 3Функ­ция
?????????F
0001
0011
0101
0111
1011

 

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

 

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

 

Перем. 1Перем. 2Функ­ция
??????F
001
010
101
111

 

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


Ответ:

3
Задание 3 № 9157

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

 

ABCDEFG
A86
B8293
C25
D99
E63510
F57
G59107

 

 

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


Ответ:

4
Задание 4 № 6912

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

 

Таблица 1
IDФамилия_И.О.Пол
2146Кривич Л.П.Ж
2155Павленко А.К.М
2431Хитрук П.А.М
2480Ленский А.А.М
2302Павленко Е.А.Ж
2500Сокол Н.А.Ж
3002Павленко И.А.М
2523Петрова Т.Х.Ж
2529Хитрук А.П.М
2570Павленко П.И.Ж
2586Павленко Т.И.М
2933Симонян А.А.Ж
2511Сокол В.А.Ж
3193Биба С.А.Ж

Таблица 2
ID_РодителяID_Ребенка
21462302
21463002
21552302
21553002
23022431
23022511
23023193
30022586
30022570
25232586
25232570
25292431
25292511
25293193


Ответ:

5
Задание 5 № 13562

По каналу связи передаются сообщения, содержащие только шесть букв: А, B, C, D, E, F. Для передачи используется неравномерный двоичный код, удовлетворяющий условию Фано. Для букв A, B, C используются такие кодовые слова: А — 11, B — 101, C — 0.

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

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


Ответ:

6
Задание 6 № 10309

Автомат получает на вход пятизначное число. По этому числу строится новое число по следующим правилам.

1. Складываются отдельно первая, третья и пятая цифры, а также вторая и четвёртая цифры.

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

 

Пример. Исходное число: 63 179. Суммы: 6 + 1 + 9 = 16; 3 + 7 = 10. Результат: 1016.

Укажите наименьшее число, при обработке которого автомат выдаёт результат 621.


Ответ:

7
Задание 7 № 1618

В электронной таблице Excel отражены данные о деятельности страховой компании за 4 месяца. Страховая компания осуществляет страхование жизни, недвижимости,/автомобилей и финансовых рисков своих клиентов. Суммы полученных по каждому виду деятельности за эти месяцы страховых взносов (в тысячах рублей) также вычислены в таблице.

 

Страхование
жизни, тыс. р.
Страхование
автомобилей, тыс. р.
Страхование
фин. рисков, тыс. р.
Страхование
недвижимости, тыс, р.
январь1042011
февраль848014
март43385
апрель612765
сумма6723115 95

 

Известно, что за эти 4 месяца компании пришлось выдать трем клиентам страховые выплаты по 30 000 рублей каждому. Какова разность между доходами и расходами страховой компании в рублях за прошедшие 4 месяца?


Ответ:

8
Задание 8 № 6957

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

 

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

DIM N, S AS INTEGER

N = 1

S = 0

WHILE S <= 1024

S = S + 128

N = N * 2

WEND

PRINT N

program B05;

var n, s: integer;

begin

    n := 1;

    s := 0;

    while s <= 1024 do

    begin

        s := s + 128;

        n := n * 2;

    end;

    write(n)

end.

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

#include <iostream>

using namespace std;

int main()

{

    int n, s;

    n = 1;

    s = 0;

    while (s <= 1024)

    {

        s = s + 128;

        n = n * 2;

    }

    cout « n « endl;

}

алг

нач

цел n, s

n := 1

s := 0

нц пока s <= 1024

    s := s + 128

    n := n * 2

кц

вывод n

кон

Python

n = 1

s = 0

while s <= 1024

    s += 128

    n *= 2

print(n)

 


Ответ:

9
Задание 9 № 3808

Текстовый документ, состоящий из 5120 символов, хранился в 8-битной кодировке КОИ-8. Этот документ был преобразован в 16-битную кодировку Unicode. Укажите, какое дополнительное количество Кбайт потребуется для хранения документа. В ответе запишите только число.


Ответ:

10
Задание 10 № 5211

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


Ответ:

11
Задание 11 № 9797

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

 

БейсикPython

DECLARE FUNCTION F(n)

DECLARE FUNCTION G(n)

FUNCTION F(n)

  IF n > 2 THEN

    F = F(n - 1) + G(n-2)

  ELSE

    F = 1

  END IF

END FUNCTION

FUNCTION G(n)

  IF n > 2 THEN

    G = G(n - 1) + F(n-2)

  ELSE

    G = 1

  END IF

END FUNCTION

def F(n):

    if n > 2:

        return F(n-1)+ G(n-2)

    else: return 1

def G(n):

    if n > 2:

    return G(n-1) + F(n-2)

    else: return 1

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

function F(n: integer): integer;

begin

  if n > 2 then

    F := F(n - 1) + G(n - 2)

  else

    F := 1;

end;

function G(n: integer): integer;

begin

  if n > 2 then

    G := G(n - 1) + F(n - 2)

  else

    G := 1;

end;

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

нач

  если n > 2

    то

      знач := F(n - 1) + G(n - 2)

    иначе

      знач := 1

  все

кон

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

нач

  если n > 2

    то

      знач := G(n - 1) + F(n - 2)

    иначе

      знач := 1

  все

кон

Си

int F(int n)

{

  if (n > 2)

    return F(n-1) + G(n-2);

  else return 1;

}

int G(int n)

{

  if (n > 2)

    return G(n-1) + F(n-2);

  else return 1;

}

 

Чему будет равно значение, вычисленное при выполнении вызова F(8)?


Ответ:

12
Задание 12 № 10475

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

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

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


Ответ:

13
Задание 13 № 5610

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


Ответ:

14
Задание 14 № 1830

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

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

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

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

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

Цикл

ПОКА <условие> команда

выполняется, пока условие истинно, иначе происходит переход на следующую строку.

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

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

 

НАЧАЛО

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

ПОКА <сверху свободно> влево

ПОКА <слева свободно> вниз

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

КОНЕЦ


Ответ:

15
Задание 15 № 14701

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

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


Ответ:

16
Задание 16 № 15926

Зна­че­ние вы­ра­же­ния 367 + 619 − 18? за­пи­са­ли в си­сте­ме счис­ле­ния с ос­но­ва­ни­ем 6.

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


Ответ:

17
Задание 17 № 15829

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

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

 

 

 

 

 

 

 

ЗапросНайдено страниц
(в тысячах)
Зайцы | Белки | Углеводы485
Зайцы191
Углеводы80
Белки & Зайцы64
Белки & Углеводы38
Зайцы | Углеводы271

 

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

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


Ответ:

18
Задание 18 № 15113

Сколько существует целых значений числа A, при которых формула

 

((x < A) → (x2 < 100)) ∧ ((y2 ≤ 64) → (yA))

 

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


Ответ:

19
Задание 19 № 16046

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

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

 

БейсикPython

c = 0

FOR i = 1 TO 9

    IF A(i-1) < A(i) THEN

       c = c + 1

       t = A(i)

       A(i) = A(i-1)

       A(i-1) = t

    END IF

NEXT i

c = 0

for i in range(1,10):

    if A[i-1] < A[i]:

       c = c + 1

       t = A[i]

       A[i] = A[i-1]

       A[i-1] = t

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

c := 0;

for i := 1 to 9 do

    if A[i-1] < A[i] then

    begin

        c := c + 1;

        t := A[i];

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

         A[i-1] := t;

    end;

c := 0

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

     если A[i-1] < A[i] то

       c := c + 1

       t := A[i]

       A[i] := A[i-1]

       A[i-1] := t

     все

кц

Си++

c = 0;

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

     if (A[i-1] < A[i]){

        c++;

        t = A[i];

        A[i] = A[i-1];

        A[i-1] = t;

    }

}

 


Ответ:

20
Задание 20 № 16449

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

 

 

БейсикPython

DIM X, A, B AS INTEGER

INPUT X

A = 0: B = 1

WHILE X > 0

    IF X MOD 2 > 0 THEN

        A = A + X MOD 12

    ELSE

        B = B * (X MOD 12)

    END IF

    X = X \ 12

WEND

PRINT A

PRINT B

 

x = int(input())

a=0; b=1

while x > 0:

    if x%2 > 0:

        a += x%12

    else:

        b *= x%12

    x = x // 12

print(a, b)

 

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

var x, a, b: longint;

begin

    readln(x);

    a := 0; b := 1;

    while x > 0 do begin

        if x mod 2 > 0 then

            a := a + x mod 12

        else

            b := b * (x mod 12);

        x := x div 12;

    end;

    writeln(a); write(b);

end.

 

алг

нач

    цел x, a, b

    ввод x

    a := 0; b := 1

    нц пока x > 0

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

            то a := a + mod(x,12)

            иначе b := b*mod(x,12)

        все x := div(x,12)

    кц

    вывод a, нс, b

кон

 

С++

#include <iostream>

using namespace std;

int main()

{

    int x, a, b;

    cin >> x;

    a = 0; b = 1;

    while (x > 0) {

        if (x%2 > 0)

            a += x%12;

        else

            b *= x%12;

        x = x / 12;

    }

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

    return 0;

}

 

 


Ответ:

21
Задание 21 № 5221

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

 

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

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

A = -7: B = 25

M = A: R = F(A)

FOR T = A TO B

    IF F(T) > R THEN

        M = T

        R = F(T)

    ENDIF

NEXT T

PRINT R

 

FUNCTION F(x)

    F = 281 - 2 * (17 + x) * (17 + x);

END FUNCTION

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

    Function F(x:integer):integer;

        begin

            F : = 281 - 2 * (17 + x) * (17 + x);

        end;

begin

    a : = -7; b : = 25;

    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.

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

#include <iostream>

using namespace std;

int F(int x)

{

    return 281 - 2 * (17 + x) * (17 + x);

}

int main()

{

    int a, b, t, M, R;

    a = -7; b = 25;

    M = a; R = F(a);

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

        if (F(t) > R) {

            M = t; R = F(t);

        }

    }

    cout « R « endl;

}

алг

нач

цел a, b, t, R, M

a : = -7; b : = 25

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

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

если F(t) > R

то

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

все

кц

вывод R

кон

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

нач

знач : = 281 - 2 * (17 + x) * (17 + x)

кон

Python

def f(x):

    return 281 - 2 * (17 + x) * (17 + x)

a = -7

b = 25

M = a

R = f(a)

for t in range(a, b+1):

    if (f(t) > R):

        M = t

        R = f(t);

print(R)

 


Ответ:

22
Задание 22 № 18091

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

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

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

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

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

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

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

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


Ответ:

23
Задание 23 № 15863

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

 

(x1x2) ∧ (¬x1 ∨ ¬x2) ∧ (¬x1y1) = 1

(x2x3) ∧ (¬x2 ∨ ¬x3) ∧ (¬x2y2) = 1

...

(x6x7) ∧ (¬x6 ∨ ¬x7) ∧ (¬x6y6) = 1

x7y7) = 1

 

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


Ответ:

24
Задание 24 № 10398

Дано целое положительное число N. Необходимо определить максимальное значение степени числа 2, на которое N делится без остатка. Например, для N = 2016 нужно получить результат 5, а для N = 2017 — результат 0. Для решения этой задачи ученик написал программу, но, к сожалению, его программа неправильная. Ниже эта программа для Вашего удобства приведена на пяти языках программирования.

 

БейсикPython

DIM N, K AS INTEGER

INPUT N

K = 2

WHILE N MOD 2 = 0

  N = N\2

  K = K + 1

WEND

PRINT K

END

n = int(input())

k = 2

while n%2 == 0:

  n = n//2

  k = k + 1

print(k)

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

var n, k: integer;

begin

  read(n);

  k := 2;

  while n mod 2 = 0 do begin

    n := n div 2;

    k := k + 1;

  end;

  writeln(k)

end.

алг

нач

  цел n, k

  ввод n

  k := 2

  нц пока mod(n,2) = 0

    n := div(n,2)

    k := k+1

  кц

  вывод k

кон

Си++

#include <iostream>

using namespace std;

int main(){

  int n, k;

  cin >> n;

  k = 2;

  while (n%2 == 0) {

    n = n/2;

    k = k + 1;

  }

  cout « k « endl;

  return 0;

}

 

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

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

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

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

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


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

25
Задание 25 № 13501

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

 

БейсикPython

CONST N=2016

DIM A(N) AS INTEGER

DIM I, M, K AS INTEGER

FOR I = 1 TO N

    INPUT A(I)

NEXT I

END

# допускается также использо-

# вание целочисленных

# переменных m, k

a = []

N = 2016

for i in range(0, N):

    a.append(int(input()))

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

const

    N=2016;

var

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

    i, m, k: integer;

begin

    for i:=1 to N do

      readln(a[i]);

end.

алг

нач

    цел N=2016

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

    цел i, m, k

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

      ввод a[i]

    кц

    …

кон

Си++

#include <iostream>

using namespace std;

#define N 2016

int main(){

    int a[N];

    int i, m, k;

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

      cin >> a[i];

    …

    return 0;

}

 

 

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


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

26
Задание 26 № 5069

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

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

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

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

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

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

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

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

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

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

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

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


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

27
Задание 27 № 6971

По каналу связи передаётся последовательность положительных целых чисел. Все числа не превышают 1000, их количество известно, но может быть очень велико. Затем передаётся контрольное значение — наибольшее число R, удовлетворяющее следующим условиям:

1) R — произведение двух различных переданных элементов последовательности («различные» означает, что не рассматриваются квадраты переданных чисел, произведения различных, но равных по величине элементов допускаются);

2) R не делится на 10.

 

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

Напишите программу которая будет проверять правильность контрольного значения. Программа должна напечатать отчёт по следующей форме:

 

Получено чисел: …

Принятое контрольное значение: …

Вычисленное контрольное значение: …

Контроль пройден (или Контроль не пройден)

 

Если удовлетворяющее условию контрольное значение определить невозможно, вычисленное контрольное значение не выводится, но выводится фраза «Контроль не пройден».

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

 

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

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

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

 

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

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

Максимальная оценка за выполнение задания А – 2 балла.

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

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

 

Входные данные

В первой строке указывается количество чисел N. В каждой из последующих

N строк записано одно натуральное число, не превышающее 1000.

В последней строке записано контрольное значение.

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

5

60

7

8

15

20

105

 

Выходные данные

Программа должна напечатать отчёт по образцу, приведённому в условии.

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

Получено чисел: 5

Принятое контрольное значение: 105

Вычисленное контрольное значение: 105

Контроль пройден


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