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


Вариант № 6053669

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


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


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

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

 

10001011, 10111000, 10011011, 10110100.

 

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


Ответ:

2
Задание 2 № 13505

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

 

(x ∧ ¬z) ∨ (xyz).

 

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

 

Перем. 1Перем. 2Перем. 3Функция
?????????F
0011
1011
1111

 

 

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

 

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

 

 

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

 

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


Ответ:

3
Задание 3 № 13349

На рисунке справа схема дорог Н-ского района изображена в виде графа; в таблице слева содержатся сведения о протяжённости каждой из этих дорог (в километрах).

 

 

 

П1П2П3П4П5П6П7
П120151089
П2201125
П35
П41511
П510576
П68257
П796

 

 

Так как таблицу и схему рисовали независимо друг от друга, то нумерация населённых пунктов в таблице никак не связана с буквенными обозначениями на графе. Определите, какова протяжённость дороги из пункта Д в пункт Е. В ответе запишите целое число — так, как оно указано в таблице.


Ответ:

4
Задание 4 № 1408

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

 

 Художник  Выставочный центр 
 Витальева В. Ф.  центр Арт-Экспо 
 Итов О. П.  Искусство ИЗОбразия 
 Житова Р. Д.  центр Модерн-арт-палас 
 Житова Р. Д.  центр Арт-Экспо 
 Витальева В. Ф.  Искусство ИЗОбразия 
 Хромчун Ж. Д.  Модерн-арт-палас 
 Глотов П. З.  центр Арт-Экспо 
 Витальева В. Ф.  Модерн-арт-палас 
 Похом П. П.  центр Арт-Экспо 

 Художник  Город  Техника 
 Витальева В. Ф.  Москва  пастель 
 Итов О. П.  Москва  масло 
 Житова Р. Д.  Клин  масло 
 Итов О. П.   Москва  пастель 
 Итов О. П.  Москва  акварель 
 Хромчун Ж. Д.   Саратов  пастель 
 Глотов П. З.  Дубна  акварель 
 Хромчун Ж. Д.  Саратов  масло 
 Похом П. П.  Москва  масло 

 

Руководствуясь приведенными таблицами, определите, сколько художников из Москвы выставляют свои работы в центре Арт-Экспо.


Ответ:

5
Задание 5 № 9356

По каналу связи передаются сообщения, содержащие только четыре буквы: П, О, С, Т; для передачи используется двоичный код, допускающий однозначное декодирование. Для букв Т, О, П используются такие кодовые слова: Т: 111, О: 0, П: 100.

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


Ответ:

6
Задание 6 № 16033

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

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

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

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

    б)если N нечётное, справа дописывается сначала единица, а затем ноль.

Например, двоичная запись 100 числа 4 будет преобразована в 10001, а двоичная запись 111 числа 7 будет преобразована в 11110.

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

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


Ответ:

7
Задание 7 № 7447

Коле нужно с помощью электронных таблиц построить таблицу квадратов двузначных чисел от 20 до 59.

Для этого сначала в диапазоне В1:К1 он записал числа от 0 до 9, и в диапазоне А2:А5 он записал числа от 2 до 5. Затем в ячейку В5 записал формулу квадрата двузначного числа (А5 — число десятков; В1 — число единиц), после чего скопировал её во все ячейки диапазона B2:К5. В итоге получил таблицу квадратов двузначных чисел. На рисунке ниже представлен фрагмент этой таблицы.

 

ABCDE
10123
22400441484529
3390096110241089
441600168117641849
552500260127042809

 

В ячейке B5 была записана одна из следующих формул:

 

1) =(B1+10*A5)^2

2) =($B1+10*$A5)^2

3) =(B$1+10*$A5)^2

4) =($B1+10*A$5)^2

 

Укажите в ответе номер формулы, которая была записана в ячейке B5 Примечание. Знак $ используется для обозначения абсолютной адресации.


Ответ:

8
Задание 8 № 17372

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

 

 

БейсикPython

DIM S, N AS INTEGER

S = 100

N = 300

WHILE S + N <= 600

S = S + 40

N = N − 20

WEND

PRINT S

s = 100

n = 300

while s + n <= 600:

    s = s + 40

    n = n − 20

print(s)

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

var s, n: integer;

begin

    s := 100;

    n := 300;

    while s + n <= 600 do

    begin

        s := s + 40;

        n := n − 20;

    end;

    writeln(s)

end.

алг

нач

    цел s, n

    s := 100

    n := 300

    нц пока s + n <= 600

        s := s + 40

        n := n − 20

    кц

    вывод s

кон

Си++

#include <iostream>

using namespace std;

int main()

{

    int s = 100, n = 300;

    while (s + n <= 600) {

        s = s + 40;

        n = n − 20;

    }

    cout << s;

    return 0;

}

 

 


Ответ:

9
Задание 9 № 2433

Документ объемом 5 Мбайт можно передать с одного компьютера на другой двумя способами:

 

А) Сжать архиватором, передать архив по каналу связи, распаковать.

Б) Передать по каналу связи без использования архиватора.

 

Какой способ быстрее и насколько, если

– средняя скорость передачи данных по каналу связи составляет 218 бит в секунду,

– объем сжатого архиватором документа равен 80% от исходного,

– время, требуемое на сжатие документа – 35 секунд, на распаковку – 3 секунды?

 

В ответе напишите букву А, если способ А быстрее или Б, если быстрее способ Б. Сразу после буквы напишите количество секунд, насколько один способ быстрее другого.

Так, например, если способ Б быстрее способа А на 23 секунды, в ответе нужно написать Б23.

Слов «секунд», «сек.», «с.» к ответу добавлять не нужно.


Ответ:

10
Задание 10 № 4588

Все 4-буквенные слова, составленные из букв М, У, Х, А записаны в алфавитном порядке и пронумерованы.

Вот начало списка:

 

1. АААА

2. АААМ

3. АААУ

4. АААХ

5. ААМА

 

Напишите номер слова ХУХХ


Ответ:

11
Задание 11 № 13460

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

 

БейсикPython

 FUNCTION F(n)

  IF n > 2 THEN

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

  ELSE

     F = 2

  END IF

 END FUNCTION

 

 FUNCTION G(n)

  IF n > 2 THEN

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

  ELSE

     G = 2

  END IF

 END FUNCTION

def F(n):

    if n > 2:

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

    else: return 2

def G(n):

    if n > 2:

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

    else: return 2

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

function F(n : integer): integer;

 begin

  if n > 2 then

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

  else

   F := 2;

 end;

function G(n : integer): integer;

 begin

  if n > 2 then

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

  else

   G := 2;

 end;

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

 нач

  если n > 2

  то

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

  иначе

    знач:=2

  все

 кон

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

 нач

  если n > 2

  то

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

  иначе

    знач:=2

  все

 кон

Си

int F(int n) {

    if (n > 2)

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

    else

     return 2;

}

int G(int n) {

    if (n > 2)

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

    else

     return 2;

}

 

 

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


Ответ:

12
Задание 12 № 10502

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

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

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


Ответ:

13
Задание 13 № 6569

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


Ответ:

14
Задание 14 № 16890

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

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

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

заменить (111, 27)

преобразует строку 05111150 в строку 0527150.

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

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

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

 

Цикл

ПОКА условие

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

КОНЕЦ ПОКА

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

 

Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из 85 единиц?

 

НАЧАЛО

    ПОКА нашлось (11111)

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

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

    КОНЕЦ ПОКА

КОНЕЦ


Ответ:

15
Задание 15 № 16444

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

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

 


Ответ:

16
Задание 16 № 2324

Найдите основание системы счисления, в которой выполнено сложение: 144 + 24 = 201.


Ответ:

17
Задание 17 № 13744

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

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

 

ЗапросНайдено страниц
(в сотнях тысяч)
Бабочка22
Гусеница40
Трактор24
Трактор | Бабочка | Гусеница66
Трактор & Гусеница12
Трактор & Бабочка0

 

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

 

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


Ответ:

18
Задание 18 № 9699

На числовой прямой даны два отрезка: P = [4, 15] и Q = [12, 20].

Укажите наименьшую возможную длину отрезка A, для которого выражение

 

((xP) ∧ (xQ)) → (xA)

 

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


Ответ:

19
Задание 19 № 14780

Представленный ниже фрагмент программы обрабатывает элементы одномерного целочисленного массива A с индексами от 1 до 10. Перед началом выполнения данного фрагмента эти элементы массива имели значения 7, 4, 9, 10, 2, 3, 5, 8, 13, 19 (т.е. A[1] = 7, A[2] = 4, …, A[10] = 19).

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

 

БейсикPython

n = 10

s = 0

FOR i = 2 TO n

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

        A(i) = A(i) + A(i-1)

        s = s + A(i)

    END IF

NEXT i

n = 10

s = 0

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

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

        A[i] = A[i] + A[i-1]

        s = s + A[i]

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

n := 10;

s := 0;

for i:=2 to n do begin

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

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

        s := s + A[i]

    end

end;

n := 10

s := 0

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

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

        то

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

            s := s + A[i]

    все

кц

Си++

n = 10;

s = 0;

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

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

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

        s = s + A[i];

    }

}

 


Ответ:

20
Задание 20 № 14279

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

 

Бейсик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 № 18502

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

 

 

БейсикPython

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

A = -9: B = 9

M = A: R = F(A)

FOR T = A TO B

    IF F(T) <= R THEN

        M = T

        R = F(T)

    END IF

NEXT T

PRINT M+R

 

FUNCTION F(x)

    IF X>0 THEN

        F = (x-10)*(x-10) + 9

    ELSE

        F = (x-2)*(x-2) + 6

    END IF

END FUNCTION

def F(x):

    if x>0:

        return (x-10)*(x-10) + 9

    else:

        return (x-2)*(x-2) + 6

a=-9; b=9

M=a; R=F(a)

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

    if F(t) <= R:

        M=t; R=F(t)

print(M+R)

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

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

function F(x:integer):integer;

    begin

        if x>0

            then F := (x-10)*(x-10) + 9

            else F := (x-2)*(x-2) + 6

    end;

begin

    a := -9; b := 9;

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

    for t := a to b do begin

        if F(t) <= R then begin

            M := t;

            R := F(t)

        end

    end;

    write(M+R)

end.

 

алг

нач

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

    a := -9; b := 9

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

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

        если F(t) <= R

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

        все

    кц

    вывод M+R

кон

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

нач

    если x>0

        то знач := (x-10)*(x-10) + 9

        иначе знач := (x-2)*(x-2) + 6

    все

кон

 

С++

#include <iostream>

using namespace std;

int F(int x)

{

    if (x>0)

        return (x-10)*(x-10) + 9;

    else

        return (x-2)*(x-2) + 6;

}

 

int main()

{

    int a, b, t, M, R;

    a = -9; b = 9;

    M = a; R = F(a);

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

        if (F(t) <= R) {

            M = t; R = F(t);

        }

    }

    cout << M+R;

    return 0;

}

 


Ответ:

22
Задание 22 № 17340

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

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

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

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

3. Прибавить 5

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

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

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

Траектория вычислений – это последовательность результатов выполнения всех команд программы. Например, для программы 312 при исходном числе 4 траектория будет состоять из чисел 20, 21, 42.


Ответ:

23
Задание 23 № 11319

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

((x1 ≡ x2) → (x3 ≡ x4)) ∧ ((x3 ≡ x4) → ( x5 ≡ x6)) ∧ (( x5 ≡ x6) → (x7 ≡ x8)) = 1

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


Ответ:

24
Задание 24 № 4702

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

 

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

INPUT x, у

IF y>=x*x-2 THEN

IF y<=4-x*x THEN

IF x>=0 THEN

PRINT "принадлежит"

ELSE

PRINT "не принадлежит"

END IF

END IF

END IF

END

var х,у: real;

begin

readln(х,у);

if у>=х*х-2 then

if у<=4-х*х then

if x>=0 then

write('принадлежит')

else

write('не принадлежит'

end.

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

#include <iostream>

using namespace std;

int main(){

float x,у;

cin >> x >> y;

if (y>=x*x-2)

if (y<=4-x*x)

if (x>=0)

cout << "принадлежит";

else

cout << "не принадлежит";

}

алг

нач

вещ х,у

ввод х,у

если у>=х*х-2 то

если у<=4-х*х то

если х>=0 то

вывод 'принадлежит'

иначе

вывод 'не принадлежит'

все

все

все

кон

Python

x = float(input())

y = float(input())

if y>=x*x-2:

    if y<=4-x*x:

        if x>=0:

            print("принадлежит")

        else:

            print("не принадлежит")

 

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

1. Перерисуйте и заполните таблицу, которая показывает, как работает программа при аргументах, принадлежащих различным областям (А, В, С, D, Е, F, G, Н). Точки, лежащие на границах областей, отдельно не рассматривать. Границами областей А и Н являются параболы и ось Оу.

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

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

 

ОбластьУсловие 1
(y >= x*x-2)
Условие 2
(y <= 4-x*x)
Условие 3
(x >= 0)
Программа выведетОбласть обрабатывается верно
A
B
C
D
E
F
G
H

 


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

25
Задание 25 № 13555

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

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

 

Бейсик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 № 5257

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

 

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

 

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

 

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

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

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

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

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

 

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

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

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

 

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


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

27
Задание 27 № 15149

Дан набор из N целых положительных чисел. Из этих чисел формируются все возможные пары (парой считаются два элемента, которые находятся на разных местах в наборе, порядок чисел в паре не учитывается), в каждой паре вычисляется сумма элементов. Необходимо определить количество пар, для которых полученная сумма делится на 10.

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

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

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

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

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

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

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

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

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

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

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

5

4

5

6

4

15

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

3

Из 5 чисел можно составить 10 пар. В данном случае у трёх пар сумма делится на 10: 4 + 6, 4 + 6 (в наборе две четвёрки, поэтому пару 4 + 6 можно составить двумя способами), 5 + 15.


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