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



О ПОЛОМКЕ И ВОССТАНОВЛЕННОЙ КОПИИ РЕШУ ЕГЭ

Вариант № 6353917

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


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


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

Выберите наименьшее из чисел: A816, 2518, 101100012. В ответе запишите выбранное число в десятичной системе счисления.


Ответ:

2
Задание 2 № 15814

Логическая функция F задаётся выражением (x ≡ ( wy)) ∨ ((wz ) ∧ (yw)).

Дан частично заполненный фрагмент, содержащий неповторяющиеся строки таблицы истинности функции F.

Определите, какому столбцу таблицы истинности соответствует каждая из переменных x, y, z, w.

 

Переменная 1Переменная 2Переменная 3Переменная 4Функция
????????????F
110
10
110

 

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

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

 

Переменная 1Переменная 1Функция
??????F
010

 

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


Ответ:

3
Задание 3 № 6484

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

 

ABCDEF
A315
B325
C22
D5226
E25
F1565

 

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


Ответ:

4
Задание 4 № 7248

Ниже в табличной форме представлен фрагмент базы данных:

 

СтранаСтолицаПлощадь,
тыс. км2
Численность населения,
тысяч чел.
Часть света
1.Бельгия

Брюссель

30,510289Европа

2.Бурунди

Бужумбура

27,86096Африка

3.Гаити

Порт-о-Пренс

27,87528Северная Америка

4.Дания

Копенгаген

43,15384Европа

5.Джибути

Джибути

22,00,457Африка

6.Доминиканская Республика

Санто-Доминго

48,78716Северная Америка

7.ИзраильТель-Авив

20,86116Азия

8.Коста-РикаСан-Хосе

51,13896Северная Америка

9.ЛесотоМасеру

30,41862Африка

10.МакедонияСкопье

25,32063Европа

11.РуандаКигали26,47810Африка

12.Сальвадор

Сан-Сальвадор21,06470Северная Америка

 

Сколько записей в данном фрагменте удовлетворяют условию:

((Площадь, тыс.км2 > 30) И (Численность населения, тысяч чел. > 5000)) И (Часть света = Европа)?


Ответ:

5
Задание 5 № 3668

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

 


Ответ:

6
Задание 6 № 15974

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

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

2. К этой записи дописываются справа ещё два разряда по следующему правилу: если N чётное, в конец числа (справа) дописывается 10, в противном случае справа дописывается 01. Например, двоичная запись 1001 числа 9 будет преобразована в 100101.

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

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


Ответ:

7
Задание 7 № 16883

В ячейки электронной таблицы записаны числа, как показано на рисунке:

 

ABCDEF
11203004000
22304005000
33405006000
44506007000
55607008000
66708009000

 

В ячейку B3 записали формулу $D5+E$1. Затем ячейку B3 скопировали в одну из ячеек диапазона A1:B6, после чего в этой ячейке появилось числовое значение 90. В какую ячейку выполнялось копирование?

 

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


Ответ:

8
Задание 8 № 3775

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

 

 

БейсикPython

DIM N, S AS INTEGER

N = 3

S = 0

WHILE N <= 26

    S = S + 6

    N = N + 1

WEND

PRINT S

n = 3

s = 0

while n <= 26:

    s += 6

    n += 1

print(s)

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

var n, s: integer;

begin

    n := 3;

    s := 0;

    while n <= 26 do

    begin

        s := s + 6;

        n := n + 1;

    end;

    writeln(s);

end.

алг

нач

    цел n, s

    n := 3

    s := 0

    нц пока n <= 26

        s := s + 6

        n := n + 1

    кц

    вывод s

кон

Си++

#include <iostream>

using namespace std;

int main() {

    int n, s;

    n = 3, s = 0;

    while (n <= 26) {

        s = s + 6;

        n = n + 1;

    }

    cout << s << endl;

    return 0;

}

 


Ответ:

9
Задание 9 № 17327

Автоматическая фотокамера с 400 Кбайт видеопамяти производит растровые изображения c фиксированным разрешением и 16-цветной палитрой. Сколько цветов можно будет использовать в палитре, если увеличить видеопамять до 800 Кбайт?


Ответ:

10
Задание 10 № 5243

Сколько есть различных символьных последовательностей длины от двух до четырёх в трёхбуквенном алфавите

{А, B, C}?


Ответ:

11
Задание 11 № 17375

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

 

БейсикPython

SUB F(n)

    IF n < 10 THEN

         F(3 * n)

         PRINT N

         F(n + 3)

    END IF

END SUB

 

def F(n):

    if n < 10:

         F(3 * n)

        print(n)

         F(n + 3)

 

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

procedure F(n: integer);

begin

    if n < 10 then begin

        F(3 * n);

        write(n);

        F(n + 3);

    end

end;

 

алг F(цел n)

нач

    если n < 10 то

        F(3 * n)

        вывод n

        F(n + 3)

    все

кон

 

С++

void F (int n)

{

     if (n < 10) {

        F (3 * n);

        std::cout << n;

        F (n + 3);

    }

}

 

 

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


Ответ:

12
Задание 12 № 15628

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

Для узла с IP-адресом 153.82.140.123 адрес сети равен 153.82.136.0. Определите третий слева октет маски подсети. Ответ запишите в виде десятичного числа.


Ответ:

13
Задание 13 № 202

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

 


Ответ:

14
Задание 14 № 18590

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

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

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

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

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

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

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

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

 

Цикл

ПОКА условие

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

КОНЕЦ ПОКА

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

 

Какая строка получится в результате применения приведённой ниже программы к строке вида 1…12…2 (45 единиц и 45 двоек)?

 

НАЧАЛО

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

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

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

КОНЕЦ ПОКА

КОНЕЦ


Ответ:

15
Задание 15 № 19064

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

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


Ответ:

16
Задание 16 № 15984

Значение выражения 912 + 38 − 3? записали в системе счисления с основанием 3.

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


Ответ:

17
Задание 17 № 10391

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

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

 

ЗапросНайдено страниц (в тысячах)
Франция & Германия274
Германия & (Франция | Австрия)467
Франция & Германия & Австрия104

 

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

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


Ответ:

18
Задание 18 № 9369

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

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

 

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

 

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


Ответ:

19
Задание 19 № 16394

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

 

 

БейсикPython

N = 10

s = 0

FOR i = 1 TO N − 1

    IF A(i-1) > 2*A(i) THEN

        A(i) = 2*A(i)

        s = s + A(i)

    END IF

NEXT i

 

n = 10

s = 0

for i in range(1,n):

    if A[i-1] > 2*A[i]:

        A[i] = 2*A[i]

        s = s + A[i]

 

 

 

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

N := 10;

s := 0;

for i:=1 to N-1 do begin

    if A[i-1] > 2*A[i] then begin

        A[i] := 2*A[i];

        s := s + A[i];

    end;

end;

 

N := 10

s := 0

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

    если A[i-1] > 2*A[i] то

        A[i] := 2*A[i]

        s := s + A[i]

    все

кц

С++

n = 10;

s = 0;

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

    if (A[i-1] > 2*A[i]) {

        A[i] = 2*A[i];

        s = s + A[i];

    }

}

 


Ответ:

20
Задание 20 № 5492

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

 

 

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

DIM X, А, В, С AS INTEGER

INPUT X

А = 0: В = 10

WHILE X > 0

    С = X MOD 10

    А = А + С

    IF С < В THEN В = С

    X = X \ 10

WEND

PRINT А

PRINT В

var x, a, b, c: integer;

begin

    readln(x);

    a := 0; b := 10;

    while x>0 do

        begin

            с := 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 = 10;

    while (x > 0) {

        с = x%10;

        a = a+c;

        if (c < b)

            b = c;

        x = x /10;

    }

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

}

алг

нач

цел х, а, b, с

ввод X

а := 0; b := 10

нц пока х>0

    с := mod(х, 10)

    а := а+с

    если с < b

        то b := с

все

х := div(х, 10)

кц

вывод а, не, b

кон

Python

x = int(input())

a = 0

b = 10

while x > 0:

    с = x % 10

    a += c

    if c < b:

        b = c

    x //= 10

print(a)

print(b)

 


Ответ:

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

Каково наибольшее целое число X, при котором истинно высказывание

 

(50 < X·X) → (50 > (X+1)·(X+1))?

 


Ответ:

24
Задание 24 № 15992

Дано натуральное число N (1 ≤ N ≤ 109). Необходимо найти и вывести наименьшую нечётную цифру в десятичной записи N или вывести сообщение «NO», если таких цифр нет.

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

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

 

 

БейсикPython

DIM N, DIGIT, MINDIGIT AS INTEGER

INPUT N

MINDIGIT = N MOD 10

WHILE N > 0

    DIGIT = N MOD 10

    IF DIGIT MOD 2 <> 0 THEN

        IF DIGIT < MINDIGIT THEN

            DIGIT = MINDIGIT

        END IF

    END IF

    N = N \ 10

WEND

IF MINDIGIT <= 9 THEN

    PRINT MINDIGIT

ELSE

    PRINT "NO"

END IF

END

n = int(input())

mindigit = n%10

while n > 0:

    digit = n % 10

    if digit%2 != 0:

        if digit < mindigit:

            digit = mindigit

    n = n // 10

if mindigit <= 9:

    print(mindigit)

else:

    print("NO")

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

var n, digit, mindigit: integer;

begin

    read(n);

    mindigit := n mod 10;

    while N > 0 do begin

        digit := n mod 10;

        if (digit mod 2 <> 0) then

            if digit < mindigit then

                digit := mindigit;

        n := n div 10;

    end;

    if mindigit <= 9 then

        then writeln(mindigit)

        else writeln('No')

end.

алг

нач

    цел n, digit, mindigit

    ввод n

    mindigit := mod(n,10)

     нц пока n > 0

        digit := mod(n,10)

        если mod(digit,2)<>0 то

            если digit < mindigit то

                digit = mindigit

            все

        все

        n := div(n,10)

     кц

     если mindigit <= 9

        то вывод mindigit

        иначе вывод "NO"

    все

кон

С++

#include <iostream>

using namespace std;

int main(){

    int n, digit, mindigit;

    cin >> n;

    mindigit = n%10;

    while (n > 0) {

        digit = n%10;

        if (digit%2 != 0)

            if (digit < mindigit)

                digit = mindigit;

        n = n / 10;

    }

    if (mindigit <= 9)

        cout << mindigit;

    else

        cout << "NO";

    return 0;

}

 

 

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

1. Напишите, что выведет эта программа при вводе N = 134.

2. Приведите пример числа N, при вводе которого программа выведет правильный ответ.

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

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

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


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

25
Задание 25 № 3610

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

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

 

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

const

N = 30;

var

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

i, j, x: integer;

begin

for i := 1 to N do

readln(a[i]);

readln(x);

...

end.

N = 30

DIM A (N) AS INTEGER

DIM I, J, X AS INTEGER

FOR I = 1 TO N

INPUT A (I)

NEXT I

INPUT X

...

END

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

#include <iostream>

using namespace std;

#define N 30

int main(void)

{int a[N];

int i, j, x;

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

cin >> a[i];

cin >> x;

}

алг

нач

цел N = 30

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

цел i, j, х

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

ввод a [i]

кц

ввод X

...

кон

Естественный язык

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

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

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

Вводит переменную X.

...

Python

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

// целочисленные переменные j, x

a = []

n = 30

for i in range(0, n):

    a.append(int(input()))

x = int(input())

 

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


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

26
Задание 26 № 16829

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

 

добавить в одну из куч один камень или

увеличить количество камней в куче в два раза.

 

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

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

В начальный момент в первой куче было 14 камней, во второй куче — S камней, 1 ≤ S ≤ 71.

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

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

Задание 1.

а) Назовите все значения S, при которых Петя может выиграть первым ходом, причём у Пети есть ровно один выигрывающий ход.

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

Задание 2.

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

Задание 3.

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

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


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

27
Задание 27 № 18729

На вход программы поступает последовательность из N целых положительных чисел. Рассматриваются все пары различных элементов последовательности (элементы пары не обязаны стоять в последовательности рядом), такие что ai > aj при i < j. Среди пар, удовлетворяющих этому условию, необходимо найти и вывести пару с максимальной суммой элементов, которая делится на 117. Если среди найденных пар максимальную сумму имеют несколько, то можно напечатать любую из них.

Если пар заданным условием нет, то программа должна вывести NO.

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

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

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

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

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

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

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

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

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

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

4

230

57

60

4

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

230 4

Из 4 чисел можно составить 8 пар. В данном случае условиям удовлетворяет пара: 230 и 4. Сумма 234 делится на 117, ai > aj, а i < j. У всех остальных пар как минимум одно из этих условий не выполняется.


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