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


Вариант № 5757664

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


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


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

Сколько существует натуральных чисел x, для которых верно неравенство 101111002 < x < BF16?

В ответе укажите количество чисел, сами числа писать не нужно.


Ответ:

2
Задание 2 № 15618

Логическая функция F задаётся выражением (x ∧ ¬y) \/ (yz) \/ ¬w. На рисунке приведён фрагмент таблицы истинности функции F, содержащий все наборы аргументов, при которых функция F ложна. Определите, какому столбцу таблицы истинности функции F соответствует каждая из переменных w, x, y, z. Все строки в представленном фрагменте разные.

 

Перем.1Перем.2Перем.3Перем.4
????????????
0
100
100

 

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


Ответ:

3
Задание 3 № 8093

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

 

ABCDEF
A34416
B35
C42
D452610
E63
F16103

 

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


Ответ:

4
Задание 4 № 5541

Ниже представлены две таблицы из базы данных. Каждая строка таблицы 2 содержит информацию о ребёнке и об одном из его родителей. Информация представлена значением поля ID в соответствующей строке таблицы 1. Определите на основании приведённых данных ID дяди Гресс О. С.

Пояснение: дядей считается родной брат отца или матери.

 

Таблица 1
IDФамилия_И.О.Пол
14Грач Н.А.Ж
24Петренко И.П.М
25Петренко П.И.М
26Петренко П.П.М
34Ерёма А.И.Ж
35Ерёма В.С.Ж
36Ерёма С.С.М
44Лебедь А.С.Ж
45Лебедь В.А.М
46Гресс О.С.М
47Гресс П.О.М
54Клычко А.П.Ж
64Крот П.А.Ж

Таблица 2
ID_РодителяID_Ребенка
2425
4425
2526
6426
2434
4434
3435
3635
1436
3446
3646
2554
6454


Ответ:

5
Задание 5 № 1129

Для передачи по каналу связи сообщения, состоящего только из символов А, Б, В и Г, используется неравномерный (по длине) код: А-00, Б-10, В-010, Г-101. Через канал связи передаётся сообщение: БАБВГВ. Закодируйте сообщение данным кодом. Полученное двоичное число переведите в шестнадцатеричный вид.


Ответ:

6
Задание 6 № 4687

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

 

1. прибавь 1,

2. возведи в квадрат.

 

Первая из этих команд увеличивает число на экране на 1, вторая — возводит в квадрат. Программа для исполнителя Квадр — это последовательность номеров команд.

 

Например, 22111 — это программа

 

возведи в квадрат

возведи в квадрат

прибавь 1

прибавь 1

прибавь 1

 

Эта программа преобразует число 3 в число 84.

 

Запишите программу для исполнителя Квадр, которая преобразует число 5 в число 2500 и содержит не более 6 команд. Если таких программ более одной, то запишите любую из них.


Ответ:

7
Задание 7 № 10469

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

 

ABCDE
1404100707
2303606
3= B$3 * $D22300505
4101400404

 

Из ячейки A3 в ячейку С2 была скопирована формула. При копировании адреса ячеек в формуле автоматически изменились. Каким стало числовое значение формулы в ячейке С2?

 

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


Ответ:

8
Задание 8 № 5244

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

 

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

DIM N, S AS INTEGER

N = 60

S = 25

WHILE S < 365

S = S + 20

N = N + 10

WEND

PRINT N

var n, s: integer;

begin

    n : = 60;

    s : = 25;

    while s < 365 do

    begin

        s : = s + 20;

        n : = n + 10

    end;

    write(n)

end.

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

#include <iostream>

using namespace std;

int main()

{

    int n, s;

    n = 60;

    s = 25;

    while (s < 365)

    {

        s = s + 20;

        n = n + 10;

    }

    cout « n « endl;

}

алг

нач

цел n, s

n : = 60

s : = 25

нц пока s < 365

    s : = s + 20

    n : = n + 10

кц

вывод n

кон

Python

n = 60

s = 25

while s < 365:

    s += 20

    n += 10

print(n)

 


Ответ:

9
Задание 9 № 2437

У Васи есть доступ к Интернет по высокоскоростному одностороннему радиоканалу, обеспечивающему скорость получения им информации 217 бит в секунду. У Пети нет скоростного доступа в Интернет, но есть возможность получать информацию от Васи по низкоскоростному телефонному каналу со средней скоростью 215 бит в секунду. Петя договорился с Васей, что тот будет скачивать для него данные объемом 4 Мбайта по высокоскоростному каналу и ретранслировать их Пете по низкоскоростному каналу. Компьютер Васи может начать ретрансляцию данных не раньше, чем им будут получены первые 512 Кбайт этих данных. Каков минимально возможный промежуток времени (в секундах), с момента начала скачивания Васей данных, до полного их получения Петей? В ответе укажите только число, слово «секунд» или букву «с» добавлять не нужно.


Ответ:

10
Задание 10 № 9302

Сколько слов длины 4, начинающихся с согласной буквы и заканчивающихся гласной буквой, можно составить из букв М, Е, Т, Р, О? Каждая буква может входить в слово несколько раз. Слова не обязательно должны быть осмысленными словами русского языка.


Ответ:

11
Задание 11 № 14226

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

 

БейсикPython

FUNCTION F(n)

    IF n > 2 THEN

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

    ELSE

        F = n+1

    END IF

END FUNCTION

 

FUNCTION G(n)

    IF n > 2 THEN

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

    ELSE

        G = n

    END IF

END FUNCTION

def F(n):

    if n > 2:

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

    else: return n+1

 

def G(n):

    if n > 2:

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

    else: return n

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

function F(n: integer): integer;

begin

    if n > 2 then

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

    else

        F := n+1;

end;

 

function G(n: integer): integer;

begin

    if n > 2 then

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

    else

        G := n;

end;

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

нач

    если n > 2

        то

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

        иначе

            знач := n+1

    все

кон

 

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

нач

    если n > 2

        то

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

        иначе

            знач := n

    все

кон

Си

int F(int n)

{

if (n > 2)

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

else return n+1;

}

int G(int n)

{

if (n > 2)

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

else return n;

}

 

 

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


Ответ:

12
Задание 12 № 4955

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

По заданным IP-адресу узла и маске определите адрес сети.

IP –адрес узла: 224.24.254.134

Маска: 255.255.224.0

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

 

ABCDEFGH
2552542442241342480

 

Пример.

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

 

ABCDEFGH
1281682558127017192

 

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


Ответ:

13
Задание 13 № 5834

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


Ответ:

14
Задание 14 № 3839

Исполнитель РОБОТ умеет перемещаться по прямоугольному лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними по сторонам клетками может стоять стена. Клетка в лабиринте может быть чистая или закрашенная. Закрашенные клетки на рисунке выделены серым цветом.

Система команд исполнителя РОБОТ содержит восемь команд. Четыре команды – это команды перемещения:

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

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

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

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

Цикл

ПОКА <условие>

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

КОНЕЦ ПОКА

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

 

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

ЕСЛИ <условие>

ТО команда

КОНЕЦ ЕСЛИ

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

В конструкциях ПОКА и ЕСЛИ условие может содержать команды проверки, а также слова И, ИЛИ, НЕ.

 

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

 

НАЧАЛО

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

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

вправо

КОНЕЦ ПОКА

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

вниз

КОНЕЦ ПОКА

КОНЕЦ ПОКА

КОНЕЦ


Ответ:

15
Задание 15 № 9801

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

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


Ответ:

16
Задание 16 № 15138

Значение выражения 256 + 518 − 5? записали в системе счисления с основанием 5. Сколько цифр 4 содержится в этой записи?


Ответ:

17
Задание 17 № 13363

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

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

 

ЗапросНайдено страниц
(в тысячах)
Биология & Физика170
Биология & Химия245
Биология & (Физика | Химия)360

 

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

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


Ответ:

18
Задание 18 № 9369

Обозначим через m&n поразрядную конъюнкцию неотрицательных целых чисел m и n. Так, например, 14&5 = 11102&01012 = 01002 = 4.

Для какого наименьшего неотрицательного целого числа А формула

 

x&25 ≠ 0 → (x&17 = 0 → x&А ≠ 0)

 

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


Ответ:

19
Задание 19 № 15987

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

 

 

БейсикPython

b = 0

FOR i = 1 TO 9

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

        t = A(i)

        A(i) = A(i-1)

        A(i-1) = t

        b = b + 1

    END IF

NEXT i

 

b = 0

for i in range(1,10):

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

        t = A[i]

        A[i] = A[i-1]

        A[i-1] = t

        b = b + 1

 

 

 

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

b := 0;

for i:=1 to 9 do begin

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

        t := A[i];

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

        A[i-1] := t;

        b := b + 1

    end

end;

 

b := 0

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

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

        t := A[i]

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

        A[i-1] := t

        b := b + 1

    все

кц

С++

b = 0;

for (i = 1; i <= 9; ++i) {

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

        t = A[i];

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

        A[i-1] = t;

        b = b + 1;

    }

}

 


Ответ:

20
Задание 20 № 7274

Ниже записана программа. Получив на вход число , эта программа печатает два числа, L и M. Укажите наименьшее из таких чисел , при вводе которых алгоритм печатает сначала 3, а потом 8.

 

 

БейсикPython

DIM X, L, M AS INTEGER

INPUT X

L = 0

M = 0

WHILE X > 0

L = L + 1

IF X MOD 2 = 1 THEN

    M = M + X MOD 10

ENDIF

X = X \ 10

WEND

PRINT L

PRINT M

x = int(input())

L = 0

M = 0

while x > 0:

    L += 1

    if x % 2 == 1:

        M = M + x % 10

    x = x // 10

print(L)

print(M)

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

var x, L, M: integer;

begin

    readln(x);

    L := 0;

    M := 0;

    while x > 0 do

    begin

        L := L + 1;

        if x mod 2 = 1 then

            M := M + x mod 10;

        x := x div 10;

    end;

    writeln(L);

    writeln(M);

end.

алг

нач

    цел x, L, M

    ввод x

    L := 0

    M := 0

    нц пока x > 0

        L := L + 1

        если mod(x,2) = 1

            то

                M := M + mod(x,10)

        все

        x := div(x,10)

    кц

    вывод L, нс, M

кон

Си++

 

#include <iostream>

using namespace std;

int main()

{

    int x, L, M;

    cin >> x;

    L = 0;

    M = 0;

    while (x > 0){

        L = L + 1;

        if(x % 2 == 1){

            M = M + x % 10;

        }

        x = x / 10;

    }

    cout << L << endl << M << endl;

}

 


Ответ:

21
Задание 21 № 15989

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

 

 

БейсикPython

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

A = −20: B = 20

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)

F=abs(abs(x−6)+abs(x+6)−16)+2

END FUNCTION

def F(x):

return(abs(abs(x−6)+abs(x+6)−16)+2)

 

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+R)

 

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

var

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

 

function F(x: integer): integer;

begin

f:=abs(abs(x−6)+abs(x+6)−16)+2;

end;

 

begin

    a := −20; b := 20;

    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 := −20; b := 20

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

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

        если F(t) <= R

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

        все

    кц

    вывод M + R

кон

 

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

нач

знач:=abs(abs(x−6)+abs(x+6)−16)+2

кон

 

С++

#include <iostream>

using namespace std;

long f(int x) {

return (abs(abs(x−6)+abs(x+6)−16)+2);

}

 

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 + R;

    return 0;

}

 


Ответ:

22
Задание 22 № 13633

Исполнитель А17 преобразует число на экране.

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

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

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

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

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

Программа для исполнителя А17 – это последовательность команд.

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

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


Ответ:

23
Задание 23 № 16899

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

 

((x1y1) → (x2y2)) ∧ (x1y1) = 1

((x2y2) → (x3y3)) ∧ (x2y2) = 1

...

((x6y6) → (x7y7)) ∧ (x6y6) = 1

(x7y7) = 1

 

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


Ответ:

24
Задание 24 № 3787

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

 

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

INPUT х, у

IF x*x + у*у <= 49 THEN

IF x*x + у*у >= 16 THEN

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

ELSE

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

ENDIF

END IF

END

var x, у: real;

begin

readln(x,y);

if x*x + y*y <= 49 then

if x*x + y*y >= 16 then

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

else

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

end.

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

#include <iostream>

using namespace std;

int main (void) {

float x,y;

cin >> x >> y;

if (x*x + y*y <= 49)

if (x*x + y*y >= 16)

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

else

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

}

алг

нач

вещ х,у

ввод х,у

если х*х + у*у <= 49 то

если х*х + у* у >= 16 то

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

иначе

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

все

все

кон

Python

x = float(input())

y = float(input())

if x*x + у*у <= 49:

    if x*x + у*у >= 16:

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

    else:

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

 

 

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

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

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

 

ОбластьУсловие 1

(х*х+у*у <= 49)

Условие 2

(х*х+у*у >= 16)

Программа выведетОбласть

обрабатывается верно

A
В
С
D

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

25
Задание 25 № 11361

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

Например, для массива из пяти элементов: 16 3 142 55 22 – ответ: 3.

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

 

БейсикPython

CONST N = 40

DIM A (1 TO N) AS INTEGER

DIM I, J, K, AS INTEGER

 

FOR I = 1 TO N

    INPUT A(I)

NEXT I

...

END

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

//две целочисленные переменные j и k

a = []

n = 40

for i in range(0, n):

a.append(int(input()))

...

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

const

    N = 40;

var

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

    i, j, k: integer;

begin

    for i := 1 to N do

        readln(a[i]);

    ...

end.

алг

нач

    цел N = 40

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

    цел i, j, k

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

        ввод a[i]

    кц

    ...

 

кон

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

#include <iostream>

using namespace std;

#define N 40

int main() {

    int a[N];

    int i, j, k;

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

        cin >> a[i];

    ...

    return 0;

}

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

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

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

 

 

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


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

26
Задание 26 № 4881

Два игрока, Петя и Вася, играют в следующую игру. Перед ними лежат две кучки камней, в первой из которых 4, а во второй — 3 камня. У каждого игрока неограниченно много камней. Игроки ходят по очереди, первый ход делает Петя. Ход состоит в том, что игрок или удваивает число камней в какой-то куче, или добавляет 4 камня в какую-то кучу. Игра завершается в тот момент, когда количество камней в одной из куч становится не менее 20. Если в момент завершения игры общее число камней в двух кучах не менее 28, то выиграл Вася, в противном случае — Петя. Кто выигрывает при безошибочной игре обоих игроков? Каким должен быть первый ход выигрывающего игрока?

 

Ответ обоснуйте.


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

27
Задание 27 № 15812

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

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

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

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

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

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

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

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

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

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

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

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

4

1

2

3

4

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

2

Из четырёх чисел можно составить 6 пар. В данном случае условиям удовлетворяют две пары: (2, 3) и (3, 4). Суммы чисел в этих парах (5 и 7) нечётны, а произведения (6 и 12) делятся на 3. У всех остальных пар как минимум одно из этих условий не выполняется.


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