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


Вариант № 4056133

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


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


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

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

 

10001011, 10111000, 10011011, 10110100.

 

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


Ответ:

2
Задание 2 № 11103

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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


Ответ:

3
Задание 3 № 6406

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

 

ABCDEF
A217
B248
C45
D8536
E32
F1762

 

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


Ответ:

4
Задание 4 № 11260

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

 

Таблица 1
IDФамилия_И.О.Пол
2272Диковец А.Б.Ж
2228Диковец Б.Ф.М
2299Диковец И.Б.М
2378Диковец П.И.М
2356Диковец Т.И.Ж
2265Тесла А.И.Ж
2331Тесла А.П.М
2261Тесла Л.А.Ж
1217Тесла П.А.М
1202Ландау М.А.Ж
2227Решко Д.А.Ж
2240Решко В.А.Ж
2246Месяц К.Г.М
2387Лукина Р.Г.Ж
2293Фокс П.А.Ж
2322Друк Г.Р.Ж
.........

Таблица 2
ID_РодителяID_Ребенка
22272272
22272299
22282272
22282299
22722240
22721202
22721217
22992356
22992378
23222356
23222378
23312240
23311202
23311217
23872261
23872293
......


Ответ:

5
Задание 5 № 15127

По каналу связи передаются сообщения, содержащие только восемь букв: А, Б, Г, Е, И, М, Р, Т. Для передачи используется двоичный код, удовлетворяющий условию Фано. Кодовые слова для некоторых букв известны:

 

БукваКодовое слово
А0101
Б101
Г
Е011

 

БукваКодовое слово
И00
М0100
Р11
Т

 

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

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


Ответ:

6
Задание 6 № 6333

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

 

1. прибавь 2,

2. умножь на 5.

 

Выполняя первую из них, Калькулятор прибавляет к числу на экране 2, а выполняя вторую, умножает его на 5. Запишите порядок команд в программе, которая преобразует число 1 в число 45 и содержит не более 4 команд. Указывайте лишь номера команд. Указывайте лишь номера команд. (Например, программа 2121 — это программа умножь на 5, прибавь 2, умножь на 5, прибавь 2. Эта программа преобразует число 2 в число 62.)


Ответ:

7
Задание 7 № 6808

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

 

ABC
115=A1*25
2=B1/A1=C1/B1=B2+A1/3

 

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


Ответ:

8
Задание 8 № 3245

Определите, что будет напечатано в результате работы следующего фрагмента программы:

 

 

БейсикPython

DIM N, S AS INTEGER

N = 3

S = 0

WHILE N <= 7

    S = S + N

    N = N + 1

WEND

PRINT S

n = 3

s = 0

while n <= 7:

    s += n

    n += 1

print(s)

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

var n, s: integer;

begin

    n := 3;

    s := 0;

    while n <= 7 do

    begin

        s := s + n;

        n := n + 1;

    end;

    writeln(s);

end.

алг

нач

    цел n, s

    n := 3

    s := 0

    нц пока n <= 7

        s := s + n

        n := n + 1

    кц

    вывод s

кон

Си++

#include <iostream>

using namespace std;

int main() {

    int n, s;

    n = 3, s = 0;

    while (n <= 7) {

        s = s + n;

        n = n + 1;

    }

    cout << s << endl;

    return 0;

}

 


Ответ:

9
Задание 9 № 9759

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


Ответ:

10
Задание 10 № 6421

Некоторый алфавит содержит пять различных букв. Сколько трёхбуквенных слов можно составить из букв данного алфавита (буквы в слове могут повторяться)?


Ответ:

11
Задание 11 № 13568

Ниже на пяти языках программирования записаны две рекурсивные функции: 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 = 3-n

  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 3-n

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

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 := 3-n;

end;

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

нач

  если n > 2

    то

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

    иначе

      знач := n

  все

кон

 

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

нач

  если n > 2

    то

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

    иначе

      знач := 3-n

  все

кон

Си

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 3-n;

}

 

 

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


Ответ:

12
Задание 12 № 2234

Маской подсети называется 32-разрядное двоичное число, которое определяет, какая часть IP-адреса компьютера относится к адресу сети, а какая часть IP-адреса определяет адрес компьютера в подсети. В маске подсети старшие биты, отведенные в IP-адресе компьютера для адреса сети, имеют значение 1; младшие биты, отведенные в IP-адресе компьютера для адреса компьютера в подсети, имеют значение 0.

Если маска подсети 255.255.248.0 и IP-адрес компьютера в сети 112.154.133.208, то номер компьютера в сети равен_____


Ответ:

13
Задание 13 № 6803

При регистрации в компьютерной системе каждому пользователю выдаётся пароль, состоящий из 15 символов и содержащий только символы И, Н, Ф, О, Р, М, А, Т, К. Каждый такой пароль в компьютерной программе записывается минимально возможным и одинаковым целым количеством байт (при этом используют посимвольное кодирование и все символы кодируются одинаковым и минимально возможным количеством бит). Определите объём памяти, отводимый этой программой для записи 25 паролей. (Ответ дайте в байтах.)

 


Ответ:

14
Задание 14 № 8662

Исполнитель Чертёжник перемещается на координатной плоскости, оставляя след в виде линии. Чертёжник может выполнять команду сместиться на (a, b), где a, b – целые числа. Эта команда перемещает Чертёжника из точки с координатами (x, y) в точку с координатами (x + a; y + b).

Например, если Чертёжник находится в точке с координатами (4, 2), то команда сместиться на (2, -3) переместит Чертёжника в точку (6, -1).

Цикл

    ПОВТОРИ число РАЗ

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

    КОНЕЦ ПОВТОРИ

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

Чертёжнику был дан для исполнения следующий алгоритм (буквами n, a, b обозначены неизвестные числа, n>1):

НАЧАЛО

    сместиться на (60, 100)

    ПОВТОРИ n РАЗ

        сместиться на (a, b)

        сместиться на (33, 44)

    КОНЕЦ ПОВТОРИ

    сместиться на (13, 200)

    сместиться на (-1, 60)

КОНЕЦ

Укажите наибольшее возможное значение числа n, для которого найдутся такие значения чисел a и b, что после выполнения программы Чертёжник возвратится в исходную точку.


Ответ:

15
Задание 15 № 16042

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

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


Ответ:

16
Задание 16 № 15926

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

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


Ответ:

17
Задание 17 № 5944

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

 

ЗапросНайдено страниц
(в тысячах)
Толстой & Чехов245
(Толстой|Гоголь) & Чехов430
Гоголь & Чехов280

 

Компьютер печатает количество страниц (в тысячах), которое будет найдено по следующему запросу: Толстой & Гоголь & Чехов Укажите целое число, которое напечатает компьютер. Считается, что все запросы выполнялись практически одновременно, так что набор страниц, содержащих все искомые слова, не изменялся за время выполнения запросов.


Ответ:

18
Задание 18 № 9202

Эле­мен­та­ми мно­жеств А, P, Q яв­ля­ют­ся на­ту­раль­ные числа, причём P = {2, 4, 6, 8, 10, 12, 14, 16, 18, 20}, Q = {3, 6, 9, 12, 15, 18, 21, 24, 27, 30}.

Из­вест­но, что вы­ра­же­ние

((x A) → (x P)) ∨ (¬(x Q) → ¬(x A))

ис­тин­но (т. е. при­ни­ма­ет зна­че­ние 1) при любом зна­че­нии пе­ре­мен­ной х.

Опре­де­ли­те наи­боль­шее воз­мож­ное ко­ли­че­ство эле­мен­тов в мно­же­стве A.


Ответ:

19
Задание 19 № 9769

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

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

 

БейсикPython

c = 0

FOR i = 1 TO 9

  IF A(i) < A(0) THEN

    c = c + 1

    t = A(i)

    A(i) = A(0)

    A(0) = t

  END IF

NEXT i

c = 0

for i in range(1,10):

  if A[i] < A[0]:

    c = c + 1

    t = A[i]

    A[i] = A[0]

    A[0] = t

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

c := 0;

for i := 1 to 9 do

  if A[i] < A[0] then

  begin

    c := c + 1;

    t := A[i];

    A[i] := A[0];

    A[0] := t;

end;

c := 0

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

  если A[i] < A[0] то

    c := c + 1

    t := A[i]

    A[i] := A[0]

    A[0] := t

  все

кц

Си++

c = 0;

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

  if (A[i] < A[0])

  {

    c++;

    t = A[i];

    A[i] = A[0];

    A[0] = t;

  }

 


Ответ:

20
Задание 20 № 6579

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

 

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

DIM X, A, B, C AS INTEGER

INPUT X

A = 0: B = 0

WHILE X > 0

    C = X MOD 10

    A = A + C

    IF C > B THEN B = C

    X = X \ 10

WEND

PRINT A

PRINT B

var x, a, b, c: integer;

begin

    readln(x);

    a := 0; b := 0;

    while x>0 do

        begin

            c := x mod 10;

            a := a+c;

            if c>b then b := c;

            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%10;

        a = a+c;

        if (c>b)

            b = c;

        x = x/10;

    }

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

}

алг

нач

цел x, a, b, c

ввод x

a := 0; b := 0

нц пока x>0

    c := mod(x,10)

    a := a+c

        если c>b

    то b := c

    все

    x := div(x,10)

кц

вывод a, нс, b

кон

Python

x = int(input())

a = 0

b = 0

while x > 0:

    c = x % 10

    a += c

    if c > b:

        b = c

    x //= 10

print(a)

print(b)

 


Ответ:

21
Задание 21 № 4986

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

 

 

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

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

A = -25: B = 25

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

 

FUNCTION F(x)

    F = 15*(5+x)*(5+x)+125

END FUNCTION

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

    Function F(x: integer):integer;

        begin

            F := 15*(5+x)*(5+x)+125;

        end;

BEGIN

    a := -25; 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(M);

END.

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

#include <iostream>

using namespace std;

int F(int x)

{

    return 15*(5+x)*(5+x)+125;

}

int main()

{

    int a, b, t, M, R;

    a = -25; b = 25;

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

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

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

если F(t) > R

то

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

все

кц

вывод M

кон

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

нач

знач := 15*(5+x)*(5+x)+125

кон

Python

def f(x):

    return 15*(5+x)*(5+x)+125

a = -25

b = 25

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

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

 

1. Прибавь 1

2. Прибавь 2

3. Прибавь 5

 

Первая из них увеличивает число на экране на 1, вторая увеличивает это число на 2, а третья — на 5. Программа для исполнителя ТренерА — это последовательность команд. Сколько существует программ, которые число 21 преобразуют в число 30?


Ответ:

23
Задание 23 № 7768

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

 

(x1 ∨ x2) ∧ ((x1 ∧ x2) →x3) ∧ ¬ (x1 ∧ y1) = 1

(x2 ∨ x3) ∧ ((x2 ∧ x3) →x4) ∧ ¬ (x2 ∧ y2) = 1

...

(x5 ∨ x6) ∧ ((x5 ∧ x6) →x7) ∧ ¬ (x5 ∧ y5) = 1

(x6 ∨ x7) ∧ ¬(x6 ∧ y6) = 1

x7 ∧ y7 = 0

 

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


Ответ:

24
Задание 24 № 6276

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

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

INPUT x, y

IF y<=1 THEN

IF y>=x THEN

IF x>=-1 THEN

IF x*x+y*y<=1 THEN

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

ELSE

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

END IF

END IF

END IF

END IF

END

var x,y: real;

begin

readln(x,y);

if y<=1 then

if y>=x then

if x>=-1 then

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

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

else

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

end.

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

#include <iostream>

using namespace std;

int main()

{

float x,y;

cin >> x >> y;

if (y<=1)

if (y>=x)

if (x>=-1)

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

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

else

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

}

алг

нач

вещ x,y

ввод x,y

если y<=1 то

если y>=x то

если x>=-1 то

если x*x+y*y<=1 то

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

иначе

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

все

все

все

все

кон

Python

x = float(input())

y = float(input())

if y<=1:

    if y>=x:

        if x>=-1:

            if x*x+y*y<=1:

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

            else:

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

 

 

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

 

1. Перерисуйте и заполните таблицу, которая показывает, как работает программа при аргументах, принадлежащих различным областям (A, B, C, D, E, F, G, H, I, J, K). Точки, лежащие на границах областей, отдельно не рассматривать. Координатные оси не являются границами областей. В столбцах условий укажите «да», если условие выполнится, «нет», если условие не выполнится, «—» (прочерк), если условие не будет проверяться, «не изв.», если программа ведёт себя по-разному для разных значений, принадлежащих данной области. В столбце «Программа выведет» укажите, что программа выведет на экран. Если программа ничего не выводит, напишите «—» (прочерк). Если для разных значений, принадлежащих области, будут выведены разные тексты, напишите «не изв.». В последнем столбце укажите «да» или «нет».

 

ОбластьУсловие1 (y<=1)Условие 2 (y>=x)Условие 3

(x>=−1)

Условие 4 (x*x+y*y<=1)Программа

выведет

Область

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

верно

A
В
С
D
Е
F
G
Н
I
J
K

 

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


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

25
Задание 25 № 2903

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


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

26
Задание 26 № 13502

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

Игра завершается в тот момент, когда количество камней в куче становится не менее 45. Если при этом в куче оказалось не более 112 камней, то победителем считается игрок, сделавший последний ход. В противном случае победителем становится его противник. Например, если в куче было 40 камней и Паша утроит количество камней в куче, то игра закончится и победителем будет Валя. В начальный момент в куче было S камней, 1 ≤ S ≤ 44. Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Описать стратегию игрока — значит, описать, какой ход он должен сделать в любой ситуации, которая ему может встретиться при различной игре противника.

Выполните следующие задания.

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

Укажите все такие значения и соответствующие ходы Паши.

б) У кого из игроков есть выигрышная стратегия при S = 37, 39, 41?

Опишите выигрышные стратегии для этих случаев.

2. У кого из игроков есть выигрышная стратегия при S = 13, 11? Опишите

соответствующие выигрышные стратегии.

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


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

27
Задание 27 № 16054

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

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

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

В качестве результата программа должна вывести одно число: количество пар элементов, находящихся в последовательности на расстоянии не меньше чем 4, в которых произведение элементов кратно 29.

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

7

58

2

3

5

4

1

29

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

5

Пояснение. Из 7 заданных элементов с учётом допустимых расстояний между ними можно составить 6 произведений: 58 · 4, 58 · 1, 58 · 29, 2 · 1, 2 · 29, 3 · 29. Из них на 29 делятся 5 произведений.

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

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

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

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

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

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

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

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


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