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


Вариант № 5872097

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


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


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

Сколько единиц в двоичной записи десятичного числа 519?


Ответ:

2
Задание 2 № 9683

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

 

Перем. 1Перем. 2Перем. 3Функция
?????????F
0000
0010
0101
0110
1000
1010
1101
1110

 

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

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

 

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

 

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


Ответ:

3
Задание 3 № 15619

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

 

 

Так как таблицу и схему рисовали независимо друг от друга, то нумерация населённых пунктов в таблице никак не связана с буквенными обозначениями на графе. Определите номера населенных пунктов A и G в таблице. В ответе запишите числа в порядке возрастания без разделителей.


Ответ:

4
Задание 4 № 15816

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

 

Таблица 1
IDФамилия И.О.ПолГод рождения
127Петренко А.В. М1935
148Петренко Д.И. М2000
182 Петренко Е.П. Ж1942
212Петренко И.А. М1974
243 Петренко Н.Н. Ж1975
254Штейн А.Б. М1982
314Косых Е.А. М2006
404 Дулевич М.А. Ж1970
512Тишко О.К. Ж1991
517 Дулевич В.К. М1996
630 Штейн Б.В. М1954
741 Петрова А.Е. Ж1958
830 Штейн А.Н. Ж1980
849Косых Н.Н. М1939

Таблица 2
ID РодителяID Ребенка
127 212
182212
212148
243148
254314
127404
182404
404512
404517
630254
741254
830314
849243
849830


Ответ:

5
Задание 5 № 16380

По каналу связи передаются сообщения, содержащие только семь букв: А, Б, И, К, Л, О, С. Для передачи используется двоичный код, удовлетворяющий условию Фано. Кодовые слова для некоторых букв известны: А — 001, И — 01, С — 10. Какое наименьшее количество двоичных знаков потребуется для кодирования слова КОЛОБОК?

 

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


Ответ:

6
Задание 6 № 17324

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

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

2. Удаляется первая слева единица и все следующие непосредственно за ней нули. Если после этого в числе не остаётся цифр, результат этого действия считается равным нулю.

3. Полученное число переводится в десятичную запись.

4. Новое число вычитается из исходного, полученная разность выводится на экран.

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

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

2. Удаляется первая единица и следующий за ней ноль: 11.

3. Десятичное значение полученного числа 3.

4. На экран выводится число 11 – 3 = 8.

 

Сколько разных значений будет показано на экране автомата при последовательном вводе всех натуральных чисел от 10 до 1000?


Ответ:

7
Задание 7 № 1601

В электронной таблице значение формулы =CP3HAЧ(A3:D3) равно 5. Чему равно значение формулы =СУММ(АЗ:СЗ), если значение ячейки D3 равно 6? Пустых ячеек в таблице нет.


Ответ:

8
Задание 8 № 3538

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

 

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

DIM s, k As Integer

s = 0

k = 0

WHILE k < 30

    k = k + 3

    s = s + k

END While

Console.Write(s)

var s, k : integer;

begin

    s:=0;

    k:=0;

    while k < 30 do

    begin

        k:=k+3;

        s:=s+k;

    end;

    write(s);

end.

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

#include <iostream>

using namespace std;

 

int main(){

    int s, k;

    s = 0;

    k = 0;

    while (k < 30) {

        k = k + 3;

        s = s + k;

    }

    cout « s « endl;

}

нач

цел s, k

s:=0

k:=0

нц пока k < 30

    k:=k+3; s:=s+k

кц

вывод s

кон

Python

s = 0

k = 0

while k < 30:

    k += 3

    s += k

print(s)

 


Ответ:

9
Задание 9 № 7754

Производилась двухканальная (стерео) звукозапись с частотой дискретизации 48 кГц и 24-битным разрешением. В результате был получен файл размером 5625 Мбайт, сжатие данных не производилось. Определите приблизительно, сколько времени (в минутах) производилась запись. В качестве ответа укажите ближайшее к времени записи целое число, кратное 5.


Ответ:

10
Задание 10 № 16886

Матвей составляет 6-буквенные коды из букв М, А, Т, В, Е, Й. Каждую букву нужно использовать ровно 1 раз, при этом код не может начинаться с буквы Й и не может содержать сочетания АЕ. Сколько различных кодов может составить Матвей?


Ответ:

11
Задание 11 № 16386

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

 

 

БейсикPython

SUB F(n)

    IF n < 8 THEN

         F(n + 3)

         PRINT N

         F(2 * n)

    END IF

END SUB

 

def F(n):

    if n < 8:

         F(n + 3)

        print(n)

         F(2 * n)

 

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

procedure F(n: integer);

begin

    if n < 8 then begin

        F(n + 3);

        write(n);

        F(2 * n);

    end

end;

 

алг F(цел n)

нач

    если n < 8 то

        F(n + 3)

        вывод n

        F(2 * n)

    все

кон

 

С++

void F (int n)

{

     if (n < 8) {

        F (n + 3);

        std::cout << n;

        F (2 * n);

    }

}

 

 

 

Запишите подряд без пробелов и разделителей все числа, которые будут показаны на экране при выполнении вызова F(1). Числа должны быть записаны в том же порядке, в котором они выводятся на экран.


Ответ:

12
Задание 12 № 16815

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

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

Для узла с IP-адресом 98.162.71.94 адрес сети равен 98.162.71.64. Чему равно наибольшее количество возможных адресов в этой сети?


Ответ:

13
Задание 13 № 5237

При регистрации в компьютерной системе каждому пользователю выдаётся идентификатор, состоящий из 10 символов, первый и последний из которых — одна из 18 букв, а остальные — цифры (допускается использование 10 десятичных цифр). Каждый такой идентификатор в компьютерной программе записывается минимально возможным и одинаковым целым количеством байт (при этом используют посимвольное кодирование; все цифры кодируются одинаковым и минимально возможным количеством бит, все буквы также кодируются одинаковым и минимально возможным количеством бит).

 

Определите объём памяти, отводимый этой программой для записи 25 паролей. (Ответ дайте в байтах.)


Ответ:

14
Задание 14 № 1814

Исполнитель КОРАБЛИК «живет» в ограниченном прямоугольном водоеме-лабиринте, разделенном на клетки и изображенном на рисунке (вид сверху). Серые клетки — скалистые берега, светлые — свободное пространство, безопасное для передвижения КОРАБЛИКА. По краю водоема-лабиринта также находятся скалы с нанесенными на них номерами и буквами для удобства идентификации клеток.

 

 

Система команд исполнителя КОРАБЛИК:

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

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

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

 

Цикл

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

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

При попытке передвижения на любую серую клетку КОРАБЛИК разбивается о скалы.

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

 

НАЧАЛО

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

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

вверх

влево

КОНЕЦ


Ответ:

15
Задание 15 № 16818

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

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

 


Ответ:

16
Задание 16 № 5279

Запись числа N в системе счисления с основанием 6 содержит две цифры, запись этого числа в системе счисления с основанием 5 содержит три цифры, а запись в системе счисления с основанием 11 заканчивается на 1.

Чему равно N?


Ответ:

17
Задание 17 № 5284

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

 

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

 

ЗапросНайдено страниц
(в тысячах)
Леннон & Маккартни & Старр1100
Леннон & Маккартни & Харрисон1300
Леннон & Маккартни & Старр & Харрисон1000

 

 

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

(Леннон & Маккартни & Старр) | (Леннон & Маккартни & Харрисон)?

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


Ответ:

18
Задание 18 № 10481

Обозначим через m&n поразрядную конъюнкцию неотрицательных целых чисел m и n.

Так, например, 12&6 = 11002&01102 = 01002 = 4.

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

 

х&А → (x&10 = 0 → х&3)

 

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


Ответ:

19
Задание 19 № 3385

Дан фрагмент программы:

 

 

БейсикPython

FOR n = 1 TO 5

    FOR m = 1 TO 5

        C(n,m) = (m – n)*(m – n)

    NEXT m

NEXT n

 

for n in range(1, 6):

    for m in range(1, 6):

        C[n][m] = (m – n)*(m – n)

 

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

for n:= 1 to 5 do

    for m:=1 to 5 do begin

        C[n,m] : = (m – n)*(m – n);

    end;

нц для n от 1 до 5

    нц для m от 1 до 5

        C[n,m] := (m – n)*(m – n)

    кц

кц

Си++

for (n = 1; n <= 5; n++) {

    for (m = 1; m <= 5; m++) {

        C[n][m] = (m – n)*(m – n);

    }

}

 

 

Сколько элементов массива С будут равны 1?


Ответ:

20
Задание 20 № 15115

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

 

 

БейсикPython

DIM X, A, B AS INTEGER

INPUT X

A = 0: B = 0

WHILE X > 0

    IF X MOD 2 = 0 THEN

        A = A + 1

    ELSE

        B = B + X MOD 6

    END IF

    X = X \ 6

WEND

PRINT A

PRINT B

 

x = int(input())

a=0; b=0

while x > 0:

    if x%2 == 0:

        a += 1

    else:

        b += x%6

    x = x//6

print(a, b)

 

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

var x, a, b: longint;

begin

    readln(x);

    a := 0; b := 0;

    while x > 0 do begin

        if x mod 2 = 0 then

            a := a + 1

        else

            b := b + x mod 6;

        x := x div 6;

    end;

    writeln(a); write(b);

end.

 

алг

нач

    цел x, a, b

    ввод x

    a := 0; b := 0

    нц пока x > 0

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

            то a := a+1

            иначе b := b + mod(x,6)

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

    кц

    вывод a, нс, b

кон

 

С++

#include <iostream>

using namespace std;

int main()

{

    int x, a, b;

    cin >> x;

    a = 0; b = 0;

    while (x > 0) {

        if (x%2 == 0) a += 1;

        else                

        b += x%6;

        x = x / 6;

    }

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

    return 0;

}

 

 


Ответ:

21
Задание 21 № 16824

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

 

 

БейсикPython

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

A = −11: B = 11

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 * x + 4

    ELSE

        F = x * x + 5

    END IF

END FUNCTION

def F(x):

    if x > 0:

        return x * x + 4

    else:

        return x * x + 5

 

a = −11; b = 11

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 * x + 4

        else F := x * x + 5;

end;

 

begin

    a := −11; b := 11;

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

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

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

        если F(t) <= R

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

        все

    кц

    вывод M + R

кон

 

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

нач

    если x > 0

        то знач := x * x + 4

        иначе знач := x * x + 5

    все

кон

 

С++

#include <iostream>

using namespace std;

long f(int x) {

    if (x > 0) return x * x + 4;

    else return x * x + 5;

}

 

int main()

{

    int a, b, t, M, R;

    a = −11; b = 11;

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

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

 

1. прибавь 1,

2. сделай чётное,

3. сделай нечётное,

4. умножь на 10.

 

Первая из них увеличивает на 1 исходное число x, вторая умножает это число на 2, третья переводит число x в число 2x + 1, четвёртая умножает его на 10. Например, вторая команда переводит число 10 в число 20, а третья переводит число 10 в число 21. Программа для исполнителя — это последовательность команд.

Сколько существует программ, которые число 1 преобразуют в число 15?


Ответ:

23
Задание 23 № 10486

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

 

 

(x1 ∨ y1) → (x2 ∧ y2) = 0

(x2 ∨ y2) → (x3 ∧ y3) = 0

...

(x5 ∨ y5) → (x6 ∧ y6) = 0

 

 

 

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


Ответ:

24
Задание 24 № 3652

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

 

 

БейсикPython

INPUT а, b, х

IF а = 0 THEN

IF b > 0 THEN

PRINT "нет решений"

ELSE

PRINT "x>0 или x<0"

ENDIF

ELSE

PRINT -a,"< x < 0"

a = float(input())

b = float(input())

x = float(input())

if a == 0:

    if b > 0:

        print("нет решений")

    else:

        print("x > 0 или x <0")

else:

    print(-a,'< x <0')

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

var a,b,x: real;

begin

readln(a,b,x);

if a = 0 then

if b > 0 then

write ('нет решений')

else

write('x > 0 или x <0')

else

write(-a,'< x <0');

end.

алг

нач

    вещ a, b, x

    если a == 0 то

        если b > 0 то

            вывод 'нет решений'

        иначе

            вывод 'x > 0 или x <0'

        все

    иначе

        вывод -a,'< x <0'

    все

кон

Си++

#include <iostream>

using namespace std;

int main(void)

{ float a,b,x;

cin >> a >> b,&x;

if (a==0)

if (b>0)

cout << "нет решений"<< endl;

else

cout << "x>0 или x<0"<< endl;

else

cout << -a << "< x <0" << endl;

}

 

 

Последовательно выполните три задания:

1) Приведите пример таких чисел а, b, х, при которых программа неверно решает поставленную задачу.

2) Укажите, какая часть программы является лишней.

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


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

25
Задание 25 № 13636

Дан массив, содержащий 2017 положительных целых чисел, не превышающих 10000. Необходимо найти и вывести сумму таких элементов этого массива, шестнадцатеричная запись которых содержит ровно три знака, причём последний из них – буква от A до F. Например, для массива из 4 элементов, содержащего числа 522, 4095, 296, 205, ответ будет равен 4617: в шестнадцатеричной системе эти числа записываются как 20A, FFF, 128, CD; первые два подходят, в третьем – последняя цифра не записывается буквой, в четвёртом – меньше трёх знаков. Если таких чисел в массиве нет, сумма считается равной 0. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из описанных.

 

 

БейсикPython

CONST N=2017

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 = 2017

for i in range(0, N):

    a.append(int(input()))

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

const

    N=2017;

var

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

    i, m, k: integer;

begin

    for i:=1 to N do

        readln(a[i]);

    …

end.

алг

нач

    цел N=2017

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

    цел i, m, k

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

        ввод a[i]

    кц

    …

кон

Си++

#include <iostream>

using namespace std;

#define N 2017

int main(){

    int a[N];

    int i, m, k;

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

        cin >> a[i];

    …

    return 0;

}

 

 

 

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


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

26
Задание 26 № 10489

Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежат две кучи камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в одну из куч (по своему выбору) один камень или увеличить количество камней в куче в два раза. Например, пусть в одной куче 6 камней, а в другой 9 камней; такую позицию в игре будем обозначать (6, 9). Тогда за один ход можно получить любую из четырёх позиций: (12, 9), (7, 9), (6, 10), (6, 18). Для того чтобы делать ходы, у каждого игрока есть неограниченное количество камней.

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

Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Описать стратегию игрока — значит, описать, какой ход он должен сделать в любой ситуации, которая ему может встретиться при различной игре противника. Например, при начальных позициях (21, 30) и (41, 20) выигрышная стратегия есть у Пети. Чтобы выиграть, ему достаточно удвоить количество камней во второй куче.

Задание 1

Для каждой из начальных позиций (10, 35), (6, 37) укажите, кто из игроков имеет выигрышную стратегию. В каждом случае опишите выигрышную стратегию; объясните, почему эта стратегия ведёт к выигрышу, и укажите, какое наибольшее количество ходов может потребоваться победителю для выигрыша при этой стратегии.

Задание 2

Для каждой из начальных позиций (10, 34), (5, 37), (6, 36) укажите, кто из игроков имеет выигрышную стратегию. В каждом случае опишите выигрышную стратегию; объясните, почему эта стратегия ведёт к выигрышу, и укажите, какое наибольшее количество ходов может потребоваться победителю для выигрыша при этой стратегии.

Задание 3

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


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

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
Завершить тестирование, свериться с ответами, увидеть решения.