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


Вариант № 6053668

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


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


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

Найдите значение выражения 8F – 80 в шестнадцатеричной системе счисления. В ответе запишите вычисленное значение в десятичной системе счисления.


Ответ:

2
Задание 2 № 13478

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

 

(xz) ∨ (x ∧ ¬y ∧ ¬z).

 

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

 

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

 

 

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

 

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

 

 

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

 

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


Ответ:

3
Задание 3 № 15913

На рисунке схема дорог изображена в виде графа, в таблице содержатся сведения о длине этих дорог в километрах.

 

П1П2П3П4П5П6П7
П171312
П2510
П3715611
П410
П5135158
П612610
П710118

 

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


Ответ:

4
Задание 4 № 3755

Сколько записей удовлетворяют условию «Пол = 'м' и Физика > Обществознание»?

 

Фамилия  Пол Математика История Физика Химия Обществознание 
Алексееваж8064687263
Борисовм8288697869
Васильеваж8576737974
Григорьеваж7785758377
Евстигнеевм1175797875
Захарьевм7260667065

 


Ответ:

5
Задание 5 № 1125

Для кодирования букв А, Б, В, Г решили использовать двухразрядные последовательные двоичные числа (от 00 до 11, соответственно). Закодируйте таким образом последовательность символов АВГАБ и запишите полученное двоичное число в шестнадцатеричной системе счисления.


Ответ:

6
Задание 6 № 15818

Автомат обрабатывает натуральное число N по следующему алгоритму:

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

2. Складываются все цифры полученной двоичной записи. В конец записи (справа) дописывается остаток от деления суммы на 2.

3. Предыдущий пункт повторяется для записи с добавленной цифрой.

4. Результат переводится в десятичную систему и выводится на экран.

Пример. Дано число N = 13. Алгоритм работает следующим образом:

1. Двоичная запись числа N: 1101.

2. Сумма цифр двоичной записи 3, остаток от деления на 2 равен 1, новая запись 11011.

3. Сумма цифр полученной записи 4, остаток от деления на 2 равен 0, новая запись 110110.

4. На экран выводится число 54.

Какое наименьшее число, большее 93, может появиться на экране в результате работы автомата?


Ответ:

7
Задание 7 № 5839

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

 

ABC
123
2=(A1-5)/B1=A2+C1=A2

 

Какое целое число должно быть записано в ячейке A1, чтобы построенная после выполнения вычислений диаграмма по значениям диапазона ячеек А2:С2 соответствовала рисунку?

 

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


Ответ:

8
Задание 8 № 15848

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

 

БейсикPython

 DIM S, N AS INTEGER

 S = 150

 N = 0

 WHILE S + N < 300

     S = S − 5

     N = N + 25

 WEND

 PRINT N

s = 150

n = 0

while s + n < 300:

    s = s − 5

    n = n + 25

print(n)

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

var s, n: integer;

begin

s := 150;

n := 0;

while s + n < 300 do

begin

    s := s − 5;

    n := n + 25

end;

writeln(n)

end.

алг

нач

    цел n, s

    s := 150

    n := 0

    нц пока s + n < 300

        s := s − 5

        n := n + 25

    кц

    вывод n

кон

Си++

#include <iostream>

using namespace std;

int main() {

int s = 150, n = 0;

while (s + n < 300) {

    s = s − 5;

    n = n + 25;

}

cout << n << endl;

return 0;

}

 


Ответ:

9
Задание 9 № 2434

Каково время (в минутах) передачи полного объема данных по каналу связи, если известно, что передано 9000 Мбайт данных, причем треть времени передача шла со скоростью 60 Мбит в секунду, а остальное время — со скоростью 90 Мбит в секунду?


Ответ:

10
Задание 10 № 13621

Ольга составляет таблицу кодовых слов для передачи сообщений, каждому сообщению соответствует своё кодовое слово. В качестве кодовых слов Ольга использует 4-буквенные слова, в которых есть только буквы A, B, C, D, E, X, причём буква X появляется ровно 1 раз и только на первом или последнем месте. Каждая из других допустимых букв может встречаться в кодовом слове любое количество раз или не встречаться совсем. Сколько различных кодовых слов может использовать Ольга?


Ответ:

11
Задание 11 № 13622

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

 

 

БейсикPython

FUNCTION F(n)

    IF n > 2 THEN

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

    ELSE

        F = n

    END IF

END FUNCTION

 

FUNCTION G(n)

    IF n > 2 THEN

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

    ELSE

        G = n+1

    END IF

END FUNCTION

def F(n):

    if n > 2:

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

    else: return n

 

def G(n):

    if n > 2:

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

    else: return n+1

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

function F(n: integer): integer;

begin

    if n > 2 then

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

    else

        F := n;

end;

 

function G(n: integer): integer;

begin

    if n > 2 then

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

    else

        G := n+1;

end;

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

нач

    если n > 2

        то

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

        иначе

            знач := n

    все

кон

 

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

нач

    если n > 2

        то

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

        иначе

            знач := n+1

    все

кон

Си

int F(int n)

{

if (n > 2)

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

else return n;

}

int G(int n)

{

if (n > 2)

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

else return n+1;

}

 

 

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


Ответ:

12
Задание 12 № 13358

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

Например, если IP-адрес узла равен 231.32.255.131, а маска равна 255.255.240.0, то адрес сети равен 231.32.240.0. Для узла с IP-адресом 147.192.92.64 адрес сети равен 147.192.80.0. Чему равно значение третьего слева байта маски? Ответ запишите в виде десятичного числа.


Ответ:

13
Задание 13 № 221

Сколько бит содержит 8 Мбайт?

 

1) 223

2) 226

3) 8 • 106

4) 64 • 106


Ответ:

14
Задание 14 № 11243

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

 

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

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

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

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

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

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

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

  Цикл

  ПОКА условие

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

  КОНЕЦ ПОКА

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

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

  ЕСЛИ условие

      ТО команда1

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

  КОНЕЦ ЕСЛИ

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

 

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

 

НАЧАЛО

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

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

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

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

  КОНЕЦ ПОКА

КОНЕЦ

 

На вход этой программе подаётся строка длины 99, состоящая из цифры 1, за которой следуют 98 идущих подряд цифр 9. Какая строка получится в результате применения программы к этой строке? В ответе запишите полученную строку.


Ответ:

15
Задание 15 № 15925

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

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

 


Ответ:

16
Задание 16 № 14275

В системе счисления с основанием N запись числа 9310 оканчивается на 2 и содержит не менее трёх цифр. Чему равно число N?


Ответ:

17
Задание 17 № 8105

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

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

 

ЗапросНайдено страниц, тыс.
Математика & Информатика330
Математика & Физика270
Математика & (Информатика | Физика)520

 

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

 

Математика & Информатика & Физика?

 

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


Ответ:

18
Задание 18 № 18087

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

 

(y + 2x < A) ∨ (x > 15) ∨ (y > 30)

 

тождественно истинно при всех вещественных значениях x и y?


Ответ:

19
Задание 19 № 13630

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

 

 

БейсикPython

s = 0

n = 10

FOR i = 2 TO n

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

NEXT i

s=0

n=10

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

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

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

s:=0;

n:=10;

for i:= 2 to n do begin

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

end;

s:=0

n:=10

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

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

кц

Си++

s = 0;

n = 10;

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

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

}

 

 

В начале выполнения этого фрагмента в массиве находились числа 1, 11, 22, 33, 44, 55, 66, 77, 88, 99, т. е. A[1]=1, A[2]=11 и т.д. Чему будет равно значение переменной s после выполнения данного фрагмента?


Ответ:

20
Задание 20 № 5364

Ниже на четырёх языках записан алгоритм. Получив на вход число , этот алгоритм печатает два числа: и . Укажите наибольшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом 2. Допускается диапазон значений для величин целого типа: от −231 до 231 — 1.

 

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

DIM X, A, B, C AS INTEGER

INPUT X

A = 0: B = 0

WHILE X > 0

    C = X MOD 2

    IF C = 0 THEN

        A = A + 1

    ELSE

        B = B + 1

    END IF

    X = X / 10

WEND

PRINT A

PRINT B

var a, b, c: integer;

x: LongInt;

begin

    readln(x);

    a := 0; b := 0;

    while x > 0 do

    begin

        c := x mod 2;

        if c = 0 then

            a := a + 1

        else

            b := b + 1;

        x := x div 10;

    end;

    writeln(a); write(b);

end.

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

#include <iostream>

using namespace std;

 

int main()

{

    int x, a, b, c;

    cin >> x;

    a = 0; b = 0;

    while (x > 0) {

        c = x%2;

        if (c == 0) a = a + 1;

        else b = b + 1;

        x = x / 10;

    }

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

}

 

 

алг

нач

цел x, a, b, c

ввод x

a := 0; b := 0

нц пока x > 0

    c := mod(x, 2)

    если c = 0

    то a := a + 1

    иначе b := b + 1

все

x := div(x, 10)

кц

вывод а, нс b

кон

Python

x = int(input())

a = 0

b = 0

while x > 0:

    c = x % 2

    if c == 0:

        a += 1

    else:

        b += 1

    x = x // 10

print(a)

print(b)

 


Ответ:

21
Задание 21 № 3512

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

 

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

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

A = -20: B = 20

T = A: M = A: R = F(A)

FOR T = A TO B

    IF F(T) < R THEN

        M = T

        R = F(T)

    ENDIF

NEXT T

PRINT M

FUNCTION F(x)

    F = 2*(x-9)*(x-9);

END FUNCTION

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

    Function F(x: integer):integer;

        begin

            F := 2*(x-9)*(x-9);

        end;

BEGIN

    a := -20; b := 20;

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

    for t := a to b do

        if (F(t)< R) then begin

            M := t;

            R := F(t);

        end;

    write(M);

END.

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

#include <iostream>

using namespace std;

int F(int x)

{

    return 2*(x-9)*(x-9);

}

int main()

{

    int a, b, t, M, R;

    a = -20; b = 20;

    M = a; R = F(a);

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

        if (F(t) < R ) {

            M = t; R = F(t);

        }

    }

    cout « M « endl;

}

алг

нач

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

a := -20; b := 20

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

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

если F(t)< R

то

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

все

кц

вывод M

кон

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

нач

знач := 2*(x-9)*(x-9)

кон

Python

def f(x):

    return 2*(x-9)*(x-9)

a = -20

b = 20

M = a

R = f(a)

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

    if (f(t) < R):

        M = t

        R = f(t);

print(M)

 


Ответ:

22
Задание 22 № 18570

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

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

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

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

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

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

Программа для исполнителя РазДваТри — это последовательность команд. Сколько существует программ, которые преобразуют исходное число 1 в число 50, и при этом траектория вычислений содержит число 14 и не содержит числа 16?

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


Ответ:

23
Задание 23 № 15835

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

 

(x1 ∨ ¬x2) ∧ (x2 ∨ ¬x3) ∧ (x3 ∨ ¬x4) ∧ (x4 ∨ ¬x5) = 1

y1y2) ∧ (¬y2y3) ∧ (¬y3y4) ∧ (¬y4y5) = 1

x1y1 = 1

 

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


Ответ:

24
Задание 24 № 11360

Дано целое положительное число N, не превосходящее 1000. Необходимо определить, является ли это число степенью числа 3. То есть требуется определить, существует ли такое целое число K, что 3K = N, и вывести это число либо сообщение, что такого числа не существует.

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

 

БейсикPython

DIM N, K AS INTEGER

INPUT N

K = 0

WHILE K MOD 3 = 0

    K = K + 1

    N = N \ 3

WEND

IF N > 0 THEN

    PRINT K

ELSE

    PRINT "Не существует"

END IF

END

n = int(input())

k = 0

while k%3 == 0:

    k = k + 1

    n = n // 3

if n > 0:

    print(k)

else:

    print("Не существует")

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

var n, k: integer;

begin

    read(n);

    k := 0;

    while k mod 3 = 0 do begin

        k := k + 1;

        n := n div 3;

    end;

    if n > 0 then

        writeln(k)

    else

        writeln('Не существует')

end.

алг

нач

    цел n, k

    ввод n

    k := 0

    нц пока mod(k, 3)=0

        k := k + 1

        n := div(n,3)

    кц

    если n > 0

        то вывод k

        иначе вывод "Не существует"

    все

кон

Си++

#include <iostream>

using namespace std;

int main(){

    int n, k;

    cin >> n;

    k = 0;

    while (k%3 == 0) {

        k = k + 1;

        n = n / 3;

    }

    if (n > 0)

        cout « k « endl;

    else

        cout << "Не существует";

    return 0;

}

 

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

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

2. Приведите пример числа, при вводе которого приведённая программа напечатает то, что требуется.

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

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

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

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


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

25
Задание 25 № 13371

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

Например, для массива из пяти элементов: 6; 1; 4; 6; 10 – ответ: 2. Исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования и естественного языка. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных.

 

БейсикPython

CONST N AS INTEGER = 20

DIM A (1 TO N) AS INTEGER

DIM I AS INTEGER,

    J AS INTEGER,

    K AS INTEGER

FOR I = 1 TO N

    INPUT A(I)

NEXT I

...

END

# допускается также

# использовать две

# целочисленные переменные j и k

a = []

n = 20

for i in range(0, n):

    a.append(int(input()))

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

const

    N = 20;

var

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

    i, j, k: integer;

begin

    for i := 1 to N do

        readln(a[i]);

    ...

end.

алг

нач

    цел N = 20

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

    цел i, j, k

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

        ввод a[i]

    кц

    ...

кон

Си++Естественный язык

#include <iostream>

using namespace std;

#define N 20

int main() {

    int a[N];

    int i, j, k;

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

        cin >> a[i];

    ... return 0;

}

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

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

В цикле от 1 до 20 вводим элементы массива A

с 1-го по 20-й.

 

 

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


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

26
Задание 26 № 14285

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

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

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

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

1. У кого из игроков есть выигрышная стратегия при S = 12? Опишите эту стратегию.

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

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

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


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

27
Задание 27 № 5471

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

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

 

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

 

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

 

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

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

 

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

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

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

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

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

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

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

 

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

 

3

 

123

0

2

 

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

 

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

 

1 3


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