Написание программы (массивы, строки)
Типы только для начальной подготовки (не нужно тренировать для экзамена):
Смежные элементы ( 2 )
_
4463 ege27 Смежные элементы
На вход программы подается натуральное число N, а затем N целых чисел. Необходимо определить максимальное произведение смежных элементов последовательности. N не превышает 1000, каждый элемент последовательности не превосходит по модулю 100.
Пример входных данных:
7
2
3
-2
-3
-1
4
6
Пример выходных данных:
72
Пояснения: наибольшее произведение можно получить для последовательности -3 -1 4 6.
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
4460 ege27 Смежные элементы
На вход программы подается натуральное число N, а затем N целых чисел. Необходимо определить максимальную сумму смежных элементов последовательности. N не превышает 1000, каждый элемент последовательности не превосходит по модулю 100.
Пример входных данных:
9
-2
1
-3
4
-1
2
1
-5
4
Пример выходных данных:
6
Пояснения: для заданной последовательности чисел (-2 1 -3 4 -1 2 1 -5 4) наибольшую сумму можно получить для смежной последовательности элементов: 4 -1 2 1.
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
Наибольшая или наименьшая сумма или произведение ( 16 )
2446 ege27 Наибольшая или наименьшая сумма или произведение
По каналу связи передается последовательность положительных целых чисел, все числа не превышают 1000, их количество заранее неизвестно. Каждое число передается отдельно. Признаком конца передаваемой последовательности является число 0. После числа 0 передается контрольное значение – наибольшее число R, удовлетворяющее следующим условиям:
1) R – произведение двух различных переданных элементов последовательности («различные» означает, что не рассматриваются квадраты переданных чисел, произведения различных, но равных по величине элементов допускаются);
2) R делится на 6
Напишите эффективную программу, которая получает последовательность чисел и следующие за ней признак конца и контрольное значение, а также проверяет правильность контрольного значения. Программа должна напечатать отчет по следующей форме:
Получено .. чисел
Полученное контрольное значение: ….
Вычисленное контрольное значение:…
Контроль пройден (или – контроль не пройден)
Размер памяти, которую использует Ваша программа, не должен зависеть от длины переданной последовательности чисел. Перед текстом программы кратко опишите используемый вами алгоритм решения задачи.
Пример входных данных:
60
17
3
7
9
60
0
3600
Пример выходных данных для приведенного выше примера входных данных:
Получено 6 чисел
Полученное контрольное значение: 3600
Вычисленное контрольное значение: 3600
Контроль пройден.
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
2451 ege27 Наибольшая или наименьшая сумма или произведение
На ускорителе для большого числа частиц производятся замеры скорости каждой из них. Чтобы в документации качественно отличать одну серию от другой, каждую серию решили характеризовать числом, равным минимальному произведению из всех произведений пар скоростей различных частиц. Вам предлагается написать эффективную, в том числе по используемой памяти, программу (укажите используемую версию языка программирования, например Borland Pascal 7.0), которая будет обрабатывать результаты эксперимента, находя искомую величину. В нашей модели скорость частицы — это величина, которая может принимать как положительные, так и отрицательные значения. Следует учитывать, что частиц, скорость которых измерена, может быть очень много, но не может быть меньше двух.
Перед текстом задачи кратко опишите используемый вами алгоритм решения задачи.
На вход программе в первой строке подается количество частиц N. В каждой из последующих N строк записано одно целое число со знаком (плюс или минус), по абсолютной величине не превосходящее 10000.
Пример входных данных:
5
+123
+2000
+10
+3716
+10
Программа должна вывести одно число — минимальное произведение из всех произведений пар скоростей различных частиц.
Пример выходных данных для приведенного выше примера входных данных:
100
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
2452 ege27 Наибольшая или наименьшая сумма или произведение
На ускорителе для большого числа частиц производятся замеры скорости каждой из них. Все скорости положительны. Чтобы в документации качественно отличать одну серию эксперимента от другой каждую серию решили характеризовать числом равным минимальной чётной сумме из всех сумм пар скоростей различных частиц. Если чётная сумма отсутствует, то характеристикой будет являться просто минимальная сумма.
Вам предлагается написать эффективную, в том числе по используемой памяти, программу (укажите используемую версию языка программирования), которая будет обрабатывать результаты эксперимента, находя искомую величину. Следует учитывать, что частиц, скорость которых измерена, может быть очень много, но не может быть меньше двух.
Перед текстом программы кратко опишите используемый вами алгоритм решения задачи.
На вход программе в первой строке подается количество частиц N. В каждой из последующих N суток записано одно натуральное число не превышающее 30000.
Пример входных данных:
5
123
1000
12
2548
12
Программа должна вывести характеристику данной серии экспериментов.
Пример выходных данных для приведенного выше примера входных данных:
24
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
2460 ege27 Наибольшая или наименьшая сумма или произведение
По каналу связи передаются данные в виде последовательности положительных целых чисел. Количество чисел заранее неизвестно, но не менее двух, признаком конца данных считается число 0. После данных передаётся контрольное значение. Оно равно такому максимально возможному произведению двух чисел из переданного набора, которое делится на 7, но не делится на 49. Если такое произведение получить нельзя, контрольное значение считается равным 1.
Напишите эффективную, в том числе по памяти, программу, которая будет моделировать процесс приёма данных. Программа должна ввести все числа и контрольное значение и напечатать краткий отчёт, включающий количество принятых чисел, принятое контрольное значение, вычисленное контрольное значение и вывод о совпадении значений.
Перед текстом программы кратко опишите алгоритм решения задачи и укажите используемый язык программирования и его версию.
Описание входных данных
В каждой строке исходных данных содержится одно целое число. Сначала идут строки с основными данными – положительными числами, затем число 0 (признак окончания данных), в последней строке – контрольное значение.
Описание выходных данных
Программа должна вывести отчёт по форме, приведённой ниже в примере.
Пример входных данных:
6
7
8
9
0
64
Пример выходных данных для приведённого выше примера входных данных:
Введено чисел: 4
Контрольное значение: 64
Вычисленное значение: 63
Значения не совпали
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
2466 ege27 Наибольшая или наименьшая сумма или произведение
По каналу связи передаются положительные целые числа, не превышающие 1000, – результаты измерений, полученных в ходе эксперимента (количество измерений известно заранее). После окончания эксперимента передаётся контрольное значение – наибольшее число R, удовлетворяющее следующим условиям:
1) R – сумма двух различных переданных элементов последовательности («различные» означает, что нельзя просто удваивать переданные числа, суммы различных, но равных по величине элементов допускаются);
2) R – нечётное число.
Если чисел, соответствующих приведённым условиям, нет, считается, что R = –1.
В результате помех при передаче как сами числа, так и контрольное значение
могут быть искажены.
Напишите эффективную, в том числе по используемой памяти, программу (укажите используемую версию языка программирования, например, Free Pascal 2.6.4), которая будет проверять правильность контрольного значения.
Программа должна напечатать отчёт по следующей форме:
Вычисленное контрольное значение:…
Контроль пройден (или – контроль не пройден)
Если удовлетворяющее условию контрольное значение определить невозможно
(то есть при R = –1), то выводится только фраза «Контроль не пройден».
Перед текстом программы кратко опишите используемый Вами алгоритм решения.
На вход программе в первой строке подаётся количество чисел N. В каждой из последующих N строк записано одно натуральное число, не превышающее 1000. В последней строке записано контрольное значение.
Пример входных данных:
6
100
8
33
45
19
90
145
Пример выходных данных для приведенного выше примера входных данных:
Вычисленное контрольное значение: 145
Контроль пройден.
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
2470 ege27 Наибольшая или наименьшая сумма или произведение
По каналу связи передаются положительные целые числа, не превышающие 1000 – результаты измерений, полученных в ходе эксперимента (количество измерений N известно заранее, гарантируется, что 2 < N <= 10000). После окончания эксперимента передаётся контрольное значение – наибольшее число R, удовлетворяющее следующим условиям.
1. R – сумма двух различных переданных элементов последовательности («различные» означает, что нельзя просто удваивать переданные числа, суммы различных, но равных по величине элементов допускаются).
2. R кратно 3.
3. Если в последовательности нет двух чисел, сумма которых кратна 3, контрольное значение считается равным 1.
В результате помех при передаче как сами числа, так и контрольное значение
могут быть искажены.
Напишите эффективную, в том числе по используемой памяти, программу, которая будет проверять правильность контрольного значения. Программа должна напечатать отчёт по следующей форме:
Вычисленное контрольное значение: …
Контроль пройден (или Контроль не пройден)
Задача А (2 балла). Напишите на любом языке программирования программу для решения поставленной задачи, в которой входные данные будут запоминаться
в массиве, после чего будут проверены все возможные пары элементов.
Задача Б (4 балла). Напишите программу для решения поставленной задачи, которая будет эффективна как по времени, так и по памяти (или хотя бы по одной из этих
характеристик).
На вход программе в первой строке подаётся количество чисел N (2 < N <= 10000). В каждой из последующих N строк записано одно натуральное число, не превышающее 1000. В последней строке записано контрольное значение.
Пример входных данных:
6
100
8
33
145
19
84
153
Пример выходных данных для приведённого выше примера входных данных:
Вычисленное контрольное значение: 153
Контроль пройден
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
2473 ege27 Наибольшая или наименьшая сумма или произведение
На спутнике «Восход» установлен прибор, предназначенный для измерения солнечной активности. В течение времени эксперимента (это время известно заранее) прибор каждую минуту передаёт в обсерваторию по каналу связи положительное целое число, не превышающее 1000, — количество энергии солнечного излучения, полученной за последнюю минуту, измеренное в условных единицах.
После окончания эксперимента передаётся контрольное значение наибольшее число R, удовлетворяющее следующим условиям:
1. R – произведение двух различных переданных элементов последовательности («различные» означает, что не рассматриваются квадраты переданных чисел, произведения различных, но равных по величине элементов допускаются);
2. R не делится на 26.
В результате помех при передаче как сами числа, так и контрольное значение могут быть искажены.
Напишите эффективную по времени и используемой памяти программу, которая будет проверять правильность контрольного значения. Программа должна напечатать отчёт по следующей форме.
Вычисленное контрольное значение: …
Контроль пройден (или Контроль не пройден)
Если удовлетворяющее условию контрольное значение определить невозможно, то выводится только фраза «Контроль не пройден».
Перед текстом программы кратко опишите используемый Вами алгоритм решения.
На вход программе в первой строке подаётся количество чисел N. В каждой из последующих N строк записано одно положительное целое число, не превышающее 1000. В последней строке записано контрольное значение.
Пример входных данных:
5
52
12
39
55
23
2145
Пример выходных данных для приведённого выше примера входных данных:
Вычисленное контрольное значение: 2145
Контроль пройден
Начало формы
Конец формы
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
4449 ege27 Наибольшая или наименьшая сумма или произведение
На вход программы поступает последовательность из N целых положительных чисел. Из них нужно выбрать и вывести два числа так, чтобы их сумма была нечётна, а произведение делилось на 5 и при этом было максимально возможным. Выбранные числа можно выводить в любом порядке. Если есть несколько подходящих пар, можно выбрать любую из них. Если подходящих пар нет, нужно вывести 0.
Описание входных и выходных данных
В первой строке входных данных задаётся количество чисел N (1 ≤ N ≤ 1000). В каждой из последующих N строк записано одно натуральное число, не превышающее 100.
Пример входных данных:
5
1
2
3
4
5
Пример выходных данных для приведённого выше примера входных данных:
4 5
Из 5 чисел можно составить 10 пар. В данном случае условиям удовлетворяют две пары: (2, 5) и (4, 5). Суммы чисел в этих парах (7 и 9) нечётны, а произведения (10 и 20) делятся на 5. У всех остальных пар как минимум одно из этих условий не выполняется. Из этих пар выбрана пара с наибольшим произведением.
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
4459 ege27 Наибольшая или наименьшая сумма или произведение
На вход программы поступает последовательность из N целых положительных чисел. Необходимо определить количество троек элементов (ai, aj, ak) этого набора, в которых 1 <= i < j < k <= N и сумма элементов кратна 7 и нечётна.
Задача А. Напишите на любом языке программирования программу для решения поставленной задачи, в которой входные данные будут запоминаться в массиве, после чего будут проверены все возможные тройки элементов.
Задача Б. Напишите программу для решения поставленной задачи, которая будет эффективна как по времени, так и по памяти.
Входные данные представлены следующим образом. В первой строке задаётся число N (4 ≤ N ≤ 10000) – общее количество чисел в последовательности. В каждой из следующих N строк задаётся одно натуральное число, не превышающее 1000.
Пример входных данных:
7
8
11
14
15
2
4
7
Пример выходных данных для приведённого выше примера входных данных:
2
В приведённом наборе из 7 чисел имеются две тройки (8, 11, 2) и (15, 2, 4), сумма элементов которых кратна 7 и нечетна.
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
4451 ege27 Наибольшая или наименьшая сумма или произведение
Дан набор из N натуральных чисел. Необходимо определить количество пар элементов (ai, aj) этого набора, в которых 1 <= i < j <= N и произведение элементов кратно 6. Напишите эффективную по времени и по памяти программу для решения этой задачи.
Описание входных и выходных данных
В первой строке входных данных задаётся количество чисел N (1 ≤ N ≤ 10000). В каждой из последующих N строк записано одно натуральное число, не превышающее 1000.
Пример входных данных:
4
7
5
6
12
Пример выходных данных для приведённого выше примера входных данных:
5
В приведённом наборе из 4 чисел имеются пять пар (7, 6), (5, 6), (7, 12), (5, 12), (6, 12), произведение элементов которых кратно 6.
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
4452 ege27 Наибольшая или наименьшая сумма или произведение
Дан набор из N натуральных чисел. Необходимо определить количество пар элементов (ai, aj) этого набора, в которых 1 <= i < j <= N и сумма элементов кратна 12. Напишите эффективную по времени и по памяти программу для решения этой задачи.
Описание входных и выходных данных
В первой строке входных данных задаётся количество чисел N (1 ≤ N ≤ 10000). В каждой из последующих N строк записано одно натуральное число, не превышающее 1000.
Пример входных данных:
5
7
5
6
12
24
Пример выходных данных для приведённого выше примера входных данных:
2
В приведённом наборе из 5 чисел имеются две пары (7, 5) и (12, 24), сумма элементов которых кратна 12.
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
4453 ege27 Наибольшая или наименьшая сумма или произведение
Дан набор из N натуральных чисел. Необходимо определить количество троек элементов (ai, aj, ak) этого набора, в которых 1 <= i < j < k <= N и сумма элементов кратна 12. Напишите эффективную по времени и по памяти программу для решения этой задачи.
Описание входных и выходных данных
В первой строке входных данных задаётся количество чисел N (1 ≤ N ≤ 10000). В каждой из последующих N строк записано одно натуральное число, не превышающее 1000.
Пример входных данных:
5
7
5
6
12
24
Пример выходных данных для приведённого выше примера входных данных:
2
В приведённом наборе из 5 чисел имеются две тройки (7, 5, 12) и (7, 5, 24), сумма элементов которых кратна 12.
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
4454 ege27 Наибольшая или наименьшая сумма или произведение
В вход программы поступают N <= 1000 натуральных чисел, каждое из которых не превышает 10000. Необходимо определить количество пар элементов (ai, aj) этого набора, в которых 1 <= i < j <= N, сумма элементов нечётна, а произведение делится на 13. Напишите эффективную по времени и по памяти программу для решения этой задачи.
Описание входных и выходных данных
В первой строке входных данных задаётся количество чисел N (1 ≤ N ≤ 1000). В каждой из последующих N строк записано одно натуральное число, не превышающее 10000.
Пример входных данных:
5
4
13
27
39
7
Пример выходных данных для приведённого выше примера входных данных:
2
В приведённом наборе из 5 чисел имеются две пары (4, 13) и (4, 39), сумма элементов которых нечётна, и произведение кратно 13.
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
4458 ege27 Наибольшая или наименьшая сумма или произведение
На вход программы поступает последовательность из N целых положительных чисел. Нужно определить количество пар различных чисел, сумма которых делится на 12.
Описание входных и выходных данных
В первой строке входных данных задаётся количество чисел N (1 ≤ N ≤ 1000). В каждой из последующих N строк записано одно натуральное число, не превышающее 100.
Пример входных данных:
8
10
14
7
13
5
30
9
6
Пример выходных данных для приведённого выше примера входных данных:
3
В данном случае условиям удовлетворяют три пары: (10, 14), (7, 5) и (30, 6). Суммы чисел в этих парах (24, 12 и 36) делятся на 12.
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
4457 ege27 Наибольшая или наименьшая сумма или произведение
На вход программы поступает последовательность из N целых положительных чисел, все числа в последовательности различны. Рассматриваются все пары различных элементов последовательности (элементы пары не обязаны стоять в последовательности рядом, порядок элементов в паре неважен). Необходимо определить количество пар, для которых произведение элементов не кратно 14.
Описание входных и выходных данных
В первой строке входных данных задаётся количество чисел N (1 ≤ N ≤ 1000). В каждой из последующих N строк записано одно натуральное число, не превышающее 10000. В качестве результата программа должна вывести одно число: количество пар, в которых произведение элементов не кратно 14.
Пример входных данных:
4
2
6
5
42
Пример выходных данных для приведённого выше примера входных данных:
3
Из четырёх заданных чисел можно составить 6 попарных произведений: 2•6, 2•5, 2•42, 6•5, 6•42, 5•42. Из них на 14 не делятся 3 произведения (2•6, 2•5, 6•5).
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
Измерения с интервалом ( 9 )
3241 ege27 Измерения с интервалом
На спутнике
«Восход» установлен прибор, предназначенный
для измерения солнечной активности.
Каждую минуту прибор передаёт по каналу
связи натуральное число – количество
энергии солнечного излучения, полученной
за последнюю минуту, измеренное в
условных единицах. Временем, в течение
которого происходит передача, можно
пренебречь. Необходимо найти в заданной
серии количество пар таких показаний
прибора, произведение которых кратно
6 и между моментами передачи которых
прошло не менее 3 минут. Количество
энергии, получаемое прибором за минуту,
не превышает 1000 условных единиц. Общее
количество показаний прибора в серии
не превышает 10 000.
Задача А (2 балла). Напишите на любом
языке программирования программу для
решения поставленной задачи, в которой
входные данные будут запоминаться
в массиве, после чего будут проверены
все возможные пары элементов.
Задача Б (4 балла). Напишите программу
для решения поставленной задачи, которая
будет эффективна как по времени, так и
по памяти (или хотя бы по одной из этих
характеристик).
Входные данные представлены следующим
образом. В первой строке задаётся число
N – общее количество показаний
прибора. Гарантируется, что N > 3. В
каждой из следующих N строк задаётся
одно натуральное число – очередное
показание прибора.
Пример входных данных:
5
6
2
4
1
3
Пример выходных данных для приведённого
выше примера входных данных:
3
В приведённом наборе из 5 чисел имеются
три пары (6, 3), (2, 3) и (6, 1), удовлетворяющих
условию задачи.
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
2463 ege27 Измерения с интервалом
На вход программы подаются результаты измерений, выполняемых прибором с интервалом 1 минуту. Все данные – целые числа (возможно, отрицательные). Требуется найти наибольшую сумму двух результатов измерений, выполненных с интервалом не менее, чем в 7 минут.
Описание входных данных
В первой строке вводится одно целое положительное число – количество измерений N, которое может быть очень велико. Гарантируется, что N > 7. Каждая из следующих N строк содержит по одному целому числу – результат очередного измерения.
Описание выходных данных
Программа должна вывести одно число наибольшую сумму двух результатов измерений, выполненных с интервалом не менее, чем в 7 минут.
Пример входных данных:
10
1
2
3
4
5
6
7
8
9
10
Пример выходных данных для приведённого выше примера входных данных:
13
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
2464 ege27 Измерения с интервалом
На вход программы подаются результаты измерений, выполняемых прибором с интервалом 1 минуту. Все данные – натуральные числа, не превышающие 1000. Требуется найти наименьшую сумму квадратов двух результатов измерений, выполненных с интервалом не менее, чем в 5 минут.
Описание входных данных
В первой строке вводится одно натуральное число – количество измерений N. Гарантируется, что 5 < N <= 10000. Каждая из следующих N строк содержит по одному натуральному числу – результат очередного измерения.
Описание выходных данных
Программа должна вывести одно число наименьшую сумму квадратов двух результатов измерений, выполненных с интервалом не менее, чем в 5 минут.
Пример входных данных:
9
12
45
5
4
21
20
10
12
26
Пример выходных данных для приведённого выше примера входных данных:
169
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
2465 ege27 Измерения с интервалом
На спутнике «Фотон» установлен прибор, предназначенный для измерения энергии космических лучей. Каждую минуту прибор передаёт по каналу связи неотрицательное вещественное число – количество энергии, полученной за последнюю минуту, измеренное в условных единицах. Временем, в течение которого происходит передача, можно пренебречь. Необходимо найти в заданной серии показаний прибора минимальное произведение двух показаний, между моментами передачи которых прошло не менее 6 минут. Количество энергии, получаемое прибором за минуту, не превышает 1000 условных единиц. Общее количество показаний прибора в серии не превышает 10 000.
Напишите на любом языке программирования программу для решения поставленной задачи. Программа должна вывести одно число – описанное в условии произведение.
Программа считается эффективной по времени, если время работы программы пропорционально количеству полученных показаний прибора N, т.е. при увеличении N в k раз время работы программы должно увеличиваться не более чем в k раз.
Программа считается эффективной по памяти, если размер памяти, использованной в программе для хранения данных, не зависит от числа N и не превышает 1 килобайта.
В первой строке задаётся число N – общее количество показаний прибора. Гарантируется, что N > 6. В каждой из следующих N строк задаётся одно неотрицательное вещественное число – очередное показание прибора.
Пример входных данных:
11
12
45
5
4
25
23
21
20
10
12
26
Пример выходных данных для приведённого выше примера входных данных:
48
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
2467 ege27 Измерения с интервалом
Для заданной последовательности неотрицательных целых чисел необходимо найти максимальное произведение двух её элементов, номера которых различаются не менее чем на 8. Значение каждого элемента последовательности не превышает 1000. Количество элементов последовательности не превышает 10000.
Задача А (2 балла). Напишите на любом языке программирования программу для решения поставленной задачи, в которой входные данные будут запоминаться
в массиве, после чего будут проверены все возможные пары элементов.
Задача Б (4 балла). Напишите программу для решения поставленной задачи, которая будет эффективна как по времени, так и по памяти (или хотя бы по одной из этих
характеристик).
Программа считается эффективной по времени, если время работы программы пропорционально количеству элементов последовательности N, т.е. при увеличении N в k раз время работы программы должно увеличиваться не более чем в k раз. Программа считается эффективной по памяти, если размер памяти, использованной в программе для хранения данных, не зависит от числа N и не превышает 1 килобайта.
Входные данные представлены следующим образом. В первой строке задаётся число N – общее количество элементов последовательности. Гарантируется, что N > 8. В каждой из следующих N строк задаётся одно неотрицательное целое число – очередной элемент последовательности.
Пример входных данных:
10
100
45
55
245
35
25
10
10
10
26
Программа должна вывести одно число – описанное в условии произведение.
Пример выходных данных для приведённого выше примера входных данных:
2600
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
2468 ege27 Измерения с интервалом
Для заданной последовательности неотрицательных целых чисел необходимо найти минимальную сумму двух её элементов, номера которых различаются не менее чем на 4. Значение каждого элемента последовательности не превышает 1000. Количество элементов последовательности не превышает 10000.
Задача А (2 балла). Напишите на любом языке программирования программу для решения поставленной задачи, в которой входные данные будут запоминаться
в массиве, после чего будут проверены все возможные пары элементов.
Задача Б (4 балла). Напишите программу для решения поставленной задачи, которая будет эффективна как по времени, так и по памяти (или хотя бы по одной из этих
характеристик).
Программа считается эффективной по времени, если время работы программы пропорционально количеству элементов последовательности N, т.е. при увеличении N в k раз время работы программы должно увеличиваться не более чем в k раз. Программа считается эффективной по памяти, если размер памяти, использованной в программе для хранения данных, не зависит от числа N и не превышает 1 килобайта.
Входные данные представлены следующим образом. В первой строке
задаётся число N – общее количество элементов последовательности.
Гарантируется, что
N > 4. В каждой из следующих N строк задаётся одно неотрицательное целое
число – очередной элемент последовательности.
Пример входных данных:
7
10
45
55
245
35
25
10
Программа должна вывести одно число – описанную в условии сумму.
Пример выходных данных для приведённого выше примера входных данных:
20
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
2469 ege27 Измерения с интервалом
На спутнике «Восход» установлен прибор, предназначенный для измерения солнечной активности. Каждую минуту прибор передаёт по каналу связи неотрицательное целое число – количество энергии солнечного излучения, полученной за последнюю минуту, измеренное в условных единицах. Временем, в течение которого происходит передача, можно пренебречь. Необходимо найти в заданной серии показаний прибора минимальное нечётное произведение двух показаний, между моментами передачи которых прошло не менее 6 минут. Если получить такое произведение не удаётся, ответ считается равным –1. Количество энергии, получаемое прибором за минуту, не превышает 1000 условных единиц. Общее количество показаний прибора в серии не превышает 10 000.
Задача А (2 балла). Напишите на любом языке программирования программу для решения поставленной задачи, в которой входные данные будут запоминаться
в массиве, после чего будут проверены все возможные пары элементов.
Задача Б (4 балла). Напишите программу для решения поставленной задачи, которая будет эффективна как по времени, так и по памяти (или хотя бы по одной из этих
характеристик).
Входные данные представлены следующим образом. В первой строке задаётся число N – общее количество показаний прибора. Гарантируется, что N > 6. В каждой из следующих N строк задаётся одно неотрицательное целое число – очередное показание прибора.
Пример входных данных:
11
12
45
5
3
17
23
21
20
19
12
26
Программа должна вывести одно число – описанную в условии сумму.
Пример выходных данных для приведённого выше примера входных данных:
95
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
2472 ege27 Измерения с интервалом
На спутнике «Восход» установлен прибор, предназначенный для измерения солнечной активности. Каждую минуту прибор передаёт по каналу связи неотрицательное целое число – количество энергии солнечного излучения, полученной за последнюю минуту, измеренное в условных единицах. Временем, в течение которого происходит передача, можно пренебречь. Необходимо найти в заданной серии показаний прибора максимальное чётное произведение двух показаний, между моментами передачи которых прошло не менее 9 минут. Если получить такое произведение не удаётся, ответ считается равным –1. Количество энергии, получаемое прибором за минуту, не превышает 1000 условных единиц. Общее количество показаний прибора в серии не превышает 10 000.
Задача А (2 балла). Напишите на любом языке программирования программу для решения поставленной задачи, в которой входные данные будут запоминаться
в массиве, после чего будут проверены все возможные пары элементов.
Задача Б (4 балла). Напишите программу для решения поставленной задачи, которая будет эффективна как по времени, так и по памяти (или хотя бы по одной из этих
характеристик).
Входные данные представлены следующим образом. В первой строке задаётся число N – общее количество показаний прибора. Гарантируется, что N > 9. В каждой из следующих N строк задаётся одно неотрицательное целое число – очередное показание прибора.
Пример входных данных:
11
12
45
5
3
17
23
21
20
19
12
26
Программа должна вывести одно число – описанное в условии произведение.
Пример выходных данных для приведённого выше примера входных данных:
1170
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
4448 ege27 Измерения с интервалом
На спутнике «Восход» установлен прибор, предназначенный для измерения солнечной активности. Каждую минуту прибор передаёт по каналу связи натуральное число – количество энергии солнечного излучения, полученной за последнюю минуту, измеренное в условных единицах. Временем, в течение которого происходит передача, можно пренебречь. Необходимо найти в заданной серии количество пар таких показаний прибора, произведение которых кратно 6 и между моментами передачи которых прошло не менее 3 минут. Количество энергии, получаемое прибором за минуту, не превышает 1000 условных единиц. Общее количество показаний прибора в серии не превышает 10 000.
Задача А (2 балла). Напишите на любом языке программирования программу для решения поставленной задачи, в которой входные данные будут запоминаться
в массиве, после чего будут проверены все возможные пары элементов.
Задача Б (4 балла). Напишите программу для решения поставленной задачи, которая будет эффективна как по времени, так и по памяти (или хотя бы по одной из этих характеристик).
Входные данные представлены следующим образом. В первой строке задаётся число N – общее количество показаний прибора. Гарантируется, что N > 3. В каждой из следующих N строк задаётся одно натуральное число – очередное показание прибора.
Пример входных данных:
5
6
2
4
1
3
Пример выходных данных для приведённого выше примера входных данных:
3
В приведённом наборе из 5 чисел имеются три пары (6, 3), (2, 3) и (6, 1), удовлетворяющих условию задачи.
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
4455 ege27 Измерения с интервалом
В вход программы поступают N <= 1000 натуральных чисел, каждое из которых не превышает 10000. Необходимо определить количество пар элементов (ai, aj) этого набора, в которых 1 <= i < j <= N, сумма элементов нечётна, произведение делится на 13, а номера чисел в последовательности отличаются не менее, чем на 5. Напишите эффективную по времени и по памяти программу для решения этой задачи.
Описание входных и выходных данных
В первой строке входных данных задаётся количество чисел N (1 ≤ N ≤ 1000). В каждой из последующих N строк записано одно натуральное число, не превышающее 10000.
Пример входных данных:
7
4
14
27
39
7
2
13
Пример выходных данных для приведённого выше примера входных данных:
2
В приведённом наборе из 7 чисел имеются две пары (4, 13) и (14, 13), сумма элементов которых нечётна, произведение кратно 13, и номера элементов в паре отличаются не менее, чем на 5.
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
Измерения с интервалом 2 ( 1 )
Менее
4456 ege27 Измерения с интервалом 2
В вход программы поступают N <= 1000 натуральных чисел, каждое из которых не превышает 10000. Необходимо определить количество пар элементов (ai, aj) этого набора, в которых 1 <= i < j <= N, сумма элементов нечётна, произведение делится на 13, а номера чисел в последовательности отличаются МЕНЕЕ, чем на 5. Напишите эффективную по времени и по памяти программу для решения этой задачи.
Описание входных и выходных данных
В первой строке входных данных задаётся количество чисел N (1 ≤ N ≤ 1000). В каждой из последующих N строк записано одно натуральное число, не превышающее 10000.
Пример входных данных:
7
4
14
27
33
7
2
13
Пример выходных данных для приведённого выше примера входных данных:
1
В приведённом наборе из 7 чисел имеется одна пара (2, 13), сумма элементов которой нечётна, произведение кратно 13, и номера элементов в паре отличаются менее, чем на 5.
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
Точки на плоскости ( 3 )
2455 ege27 Точки на плоскости
На плоскости дан набор точек с целочисленными координатами. Необходимо найти треугольник наибольшей площади с вершинами в этих точках, одна из сторон которого лежит на оси OX. Напишите эффективную, в том числе по памяти, программу, которая будет решать эту задачу. Размер памяти, которую использует Ваша программа, не должен зависеть от длины переданной последовательности чисел. Укажите используемый язык программирования и его версию.
В первой строке вводится одно целое положительное число – количество точек N. Каждая из следующих N строк содержит два целых числа – сначала координата х, затем координата у очередной точки.
Программа должна вывести одно число – максимальную площадь треугольника, удовлетворяющего условиям задачи. Если такого треугольника не существует, программа должна вывести ноль.
Пример входных данных:
6
0 0
2 0
0 4
3 3
5 5
-6 -6
Пример выходных данных для приведенного выше примера входных данных:
6
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
2456 ege27 Точки на плоскости
На плоскости дан набор точек с целочисленными координатами. Необходимо найти такой треугольник наибольшей площади с вершинами в этих точках, у которого нет общих точек с осью Оу, а одна из сторон лежит на оси Ох.
Напишите эффективную, в том числе по памяти, программу, которая будет решать эту задачу. Размер памяти, которую использует Ваша программа, не должен зависеть от количества точек.
Перед текстом программы кратко опишите используемый алгоритм решения задачи и укажите используемый язык программирования и его версию.
Описание входных данных
В первой строке вводится одно целое положительное число — количество точек N.
Каждая из следующих N строк содержит два целых числа — сначала координата х, затем координата у очередной точки. Числа разделены пробелом.
Описание выходных данных
Программа должна вывести одно число — максимальную площадь треугольника, удовлетворяющего условиям задачи. Если такого треугольника не существует, программа должна вывести ноль.
Пример входных данных:
8
-10 0
2 0
0 4
3 3
7 0
5 5
4 0
9 -9
Пример выходных данных для приведённого выше примера входных данных:
22.5
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
2458 ege27 Точки на плоскости
Дан список точек плоскости с целочисленными координатами. Необходимо определить:
1) номер координатной четверти K, в которой находится больше всего точек;
2) точку A в этой четверти, наименее удалённую от осей координат;
3) расстояние R от этой точки до ближайшей оси.
Если в нескольких четвертях расположено одинаковое количество точек, следует выбрать ту четверть, в которой величина R меньше. При равенстве и количества точек, и величины R необходимо выбрать четверть с меньшим номером K. Если в выбранной четверти несколько точек находятся на одинаковом минимальном расстоянии от осей координат, нужно выбрать
первую по списку. Точки, хотя бы одна из координат которых равна нулю, считаются не принадлежащими ни одной четверти и не рассматриваются. Напишите эффективную, в том числе по памяти, программу, которая будет решать эту задачу.
Описание входных данных:
В первой строке вводится одно целое положительное число – количество точек N. Каждая из следующих N строк содержит координаты очередной точки – два целых числа (первое – координата x, второе – координата y).
Описание выходных данных:
Программа должна вывести номер выбранной четверти K, количество точек в ней M, координаты выбранной точки A и минимальное расстояние R по образцу, приведённому ниже в примере.
Пример входных данных:
7
-3 4
1 2
1 1
0 4
-2 -3
-6 8
-12 1
Пример выходных данных для приведённого выше примера входных данных:
K = 2
M = 3
A = (-12, 1)
R = 1
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
Накопление суммы, гонщик ( 5 )
_
4446 ege27 Накопление суммы, гонщик
Имеется набор данных, состоящий из троек натуральных чисел. Необходимо выбрать из каждой тройки два числа так, чтобы сумма всех выбранных чисел была кратна 4 и при этом была максимально возможной. Если получить требуемую сумму невозможно, в качестве ответа нужно выдать 0.
Входные данные:
На вход программе в первой строке подаётся количество троек N (1 <= N <= 100000). Каждая из следующих N строк содержит три натуральных числа, не превышающих 10 000.
6
8 3 4
4 8 12
9 5 6
2 8 3
12 3 5
1 4 12
Пример выходных данных для приведённого примера входных данных:
88
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
4445 ege27 Накопление суммы, гонщик
Имеется набор данных, состоящий из троек натуральных чисел. Необходимо выбрать из каждой тройки ровно одно число так, чтобы сумма всех выбранных чисел не была кратна 4 и при этом была максимально возможной. Если получить требуемую сумму невозможно, в качестве ответа нужно выдать 0. Напишите эффективную программу, решающую поставленную задачу.
Входные данные:
На вход программе в первой строке подаётся количество троек N (1 N 100000). Каждая из следующих N строк содержит три натуральных числа, не превышающих 10 000.
Пример входных данных:
6
1 3 2
5 12 12
6 8 12
5 4 12
3 3 12
1 1 13
Пример выходных данных для приведённого примера входных данных:
63
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
4438 ege27 Накопление суммы, гонщик
На вход программы поступает последовательность из N натуральных чисел. Нужно выбрать из них произвольное количество чисел так, чтобы их сумма была максимальной и не делилась на 4. В результате программа должна вывести количество выбранных чисел и их сумму. Если получить требуемую сумму невозможно, в качестве ответа нужно выдать 0.
Входные данные:
На вход программе подаётся натуральное число N (N 1000), а затем N натуральных чисел, каждое из которых не превышает 10000.
Пример входных данных:
3
1
2
1
Выходные данные:
Программа должна вывести два числа: сначала количество выбранных чисел, а затем их сумму.
Пример выходных данных для приведённого примера входных данных:
2 3
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
4437 ege27 Накопление суммы, гонщик
Задание А. Имеется набор данных, состоящий из 6 пар положительных целых чисел. Необходимо выбрать из каждой пары ровно одно число так, чтобы сумма всех выбранных чисел не делилась на 4 и при этом была максимально возможной. Если получить требуемую сумму невозможно, в качестве ответа нужно выдать 0. В этом варианте задания оценивается только правильность программы, время работы и размер использованной памяти не имеют значения.
Задание Б. Имеется набор данных, состоящий из пар положительных целых чисел. Необходимо выбрать из каждой пары ровно одно число так, чтобы сумма всех выбранных чисел не делилась на 4 и при этом была максимально возможной. Если получить требуемую сумму невозможно, в качестве ответа нужно выдать 0.
Программа считается эффективной по времени, если время работы программы пропорционально количеству пар чисел N, т.е. при увеличении N в k раз время работы программы должно увеличиваться не более чем в k раз. Программа считается эффективной по памяти, если размер памяти, использованной в программе для хранения данных, не зависит от числа N и не превышает 1 килобайта.
Входные данные:
Для варианта А на вход программе подаётся 6 строк, каждая из которых содержит два натуральных числа, не превышающих 10000.
Пример входных данных для варианта А:
1 3
5 12
6 8
5 4
3 3
1 1
Для варианта Б на вход программе в первой строке подаётся количество пар N (1 N 100000). Каждая из следующих N строк содержит два натуральных числа, не превышающих 10 000.
Пример входных данных для варианта Б:
6
1 3
5 12
6 8
5 4
3 3
1 1
Пример выходных данных для приведённых выше примеров входных данных:
31
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
4464 ege27 Накопление суммы, гонщик
Гоночная трасса состоит из двух основных дорог и нескольких переездов, позволяющих перейти с одной дороги на другую.
A0-A1-A2-A3-...-AN | | | | | B0-B1-B2-B3-...-BN
На всех участках, включая переезды, движение разрешено только в одну сторону, поэтому переезд возможен только с дороги A на дорогу B. Гонщик стартует в точке A0 и должен финишировать в точке BN. Он знает, за какое время сможет пройти каждый участок пути по каждой дороге, то есть время прохождения участков A0->A1, A1->A2, …, AN-1->AN, B0->B1, B1->B2, …, BN-1->BN. Время прохождения всех переездов A0->B0, A1->B1, …, AN->BN одинаково и известно гонщику. Необходимо определить, за какое минимальное время гонщик сможет пройти трассу.
Напишите эффективную, в том числе по используемой памяти, программу для решения этой задачи. Перед текстом программы кратко опишите алгоритм решения и укажите язык программирования и его версию.
Входные данные
В первой строке задаётся количество участков трассы N. Во второй строке задаётся целое число t – время (в секундах) прохождения каждого из переездов A0B0, A1B1, …, ANBN. В каждой из последующих N строк записано два целых числа ai и bi, задающих время (в секундах) прохождения очередного участка на каждой из дорог. В первой из этих строк указывается время прохождения участков A0A1 и B0B1, во второй – A1A2 и B1B2 и т. д.
Пример входных данных
3
20
320 150
200 440
300 210
Выходные данные
Программа должна напечатать одно целое число: минимально возможное
время прохождения трассы (в секундах).
Пример выходных данных для приведённого выше примера входных данных
750
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
Набор данных, все значения уникальны ( 1 )
2459 ege27 Набор данных, все значения уникальны
Радиотелескоп пытается получать и анализировать сигналы из космоса. Различные шумы переводятся в последовательность вещественные неотрицательные числа, заданные с точностью до 1 знака после десятичной точки. Для того чтобы описывать различные участки космоса, данные, получаемые из одного района, было решено характеризовать числом, равным максимальному произведению, которое можно получить, перемножая значения сигналов, приходящих из этого района. То есть требуется выбрать такое непустое подмножество сигналов (в него может войти как один сигнал, так и все поступившие сигналы), произведение значений у которого будет максимальным. Если таких подмножеств несколько, то выбрать можно любое из них.
Напишите эффективную, в том числе по используемой памяти, программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет обрабатывать результаты эксперимента, находя искомое подмножество. Сигналов может быть очень много, но не может быть меньше трех. Все сигналы различны.
Перед текстом программы кратко опишите используемый вами алгоритм решения задачи.
На вход программе в первой строке подается количество сигналов N. В каждой из последующих N строк записано одно вещественное число с точностью до 1 знака после десятичной точки. Все числа различны.
Пример входных данных:
5
12.3
0.1
100.2
0.3
1.4
Программа должна вывести в порядке возрастания номера сигналов, произведение которых будет характеризовать данную серию. Нумерация сигналов ведется с единицы.
Пример выходных данных для приведенного выше примера входных данных:
1 3 5
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
Строки, частотный словарь ( 14 )
2411 ege27 Строки, частотный словарь
На вход программы подается текст на английском языке, заканчивающийся точкой (другие символы “.” в тексте отсутствуют). Требуется написать программу, которая будет определять и выводить на экран английскую букву, встречающуюся в этом тексте чаще всего, и количество там таких букв. Строчные и прописные буквы при этом считаются не различимыми. Если искомых букв несколько, то программа должна выводить на экран первую из них по алфавиту. Например, пусть файл содержит следующую запись:
It is not a simple task. Yes!
Чаще всего здесь встречаются буквы I, S и T (слово Yes в подсчете не учитывается, так как расположено после точки). Следовательно, в данном случае программа должна вывести два символа, разделенных пробелом: I 3
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
2412 ege27 Строки, частотный словарь
На вход программы подаются произвольные алфавитно-цифровые символы. Ввод этих символов заканчивается точкой. Требуется написать программу, которая будет печатать последовательность строчных английских букв (‘a’ ‘b’… ‘z’) из входной последовательности и частот их повторения. Печать должна происходить в алфавитном порядке. Например, пусть на вход подаются следующие символы:
fhb5kbfыshfm.
В этом случае программа должна вывести
b2
f3
h2
kl
ml
s1
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
2423 ege27 Строки, частотный словарь
На вход программы подаются прописные латинские буквы, ввод этих символов заканчивается точкой. Напишите эффективную по времени работы и по используемой памяти программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет определять, можно ли переставить эти буквы так, чтобы получился палиндром (палиндром читается одинаково слева направо и справа налево). Программа должна вывести ответ «Да» или «Нет», а в случае ответа «Да» – еще и сам полученный палиндром (первый в алфавитном порядке).
Пример входной строки:
GAANN.
Пример выходных данных:
Да
ANGNA
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
2426 ege27 Строки, частотный словарь
На вход программе подается текст заклинания, состоящего не более, чем из 200 символов, заканчивающийся точкой (другие точки во входных данных отсутствуют). Гарри Поттеру нужно зашифровать его следующим образом. Сначала Гарри определяет количество букв в самом коротком слове, обозначив полученное число через K (словом называется непрерывная последовательность английских букв, слова друга от друга отделяются любыми другими символами, длина слова не превышает 20 символов). Затем он заменяет каждую английскую букву в заклинании на букву, стоящую в английском алфавите на K букв ранее (алфавит считается циклическим, то есть, перед буквой A стоит буква Z), оставив другие символы неизменными. Строчные буквы при этом остаются строчными, а прописные – прописными.
Требуется написать программу для Гарри Поттера, которая будет выводить на экран текст зашифрованного заклинания. Например, если исходный текст был таким:
Zb Ra Ca Dab Ra.
то результат шифровки должен быть следующий:
Xz Py Ay Byz Py.
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
2431 ege27 Строки, частотный словарь
На вход программе подается строка (длиной не более 200 символов), в которой нужно зашифровать все английские слова (словом называется непрерывная последовательность английских букв, слова друга от друга отделяются любыми другими символами, длина слова не превышает 20 символов). Строка заканчивается символом #, других символов # в строке нет. Каждое слово зашифровано с помощью циклического сдвига на длину этого слова. Например, если длина слова равна K, каждая буква в слове заменяется на букву, стоящую в английском алфавите на K букв дальше (алфавит считается циклическим, то есть, за буквой Z стоит буква A). Строчные буквы при этом остаются строчными, а прописные – прописными. Символы, не являющиеся английскими буквами, не изменяются.
Требуется написать программу, которая будет выводить на экран текст зашифрованного сообщения. Например, если исходный текст был таким:
Day, mice. «Year» is a mistake#
то результат шифровки должен быть следующий:
Gdb, qmgi. «Ciev» ku b tpzahrl#
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
2433 ege27 Строки, частотный словарь
На вход программе подается последовательность символов, заканчивающаяся точкой. Требуется написать программу, которая определяет, есть ли в этой последовательности десятичные цифры, и выводит наибольшее число, которое можно составить из этих цифр. Ведущих нулей в числе быть не должно (за исключением числа 0, запись которого содержит ровно одну цифру). Если цифр нет, программа должна вывести на экран слово «Нет», а если есть – слово «Да» и в следующей строчке искомое число. Например, если исходная последовательность была такая:
Day 10, mice 8: «Year» 7 is a mistake 91.
то результат должен быть следующий:
Да
987110
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
2434 ege27 Строки, частотный словарь
На вход программе подается последовательность цифр, заканчивающаяся точкой (другие символы, кроме цифр и точки, отсутствуют). Требуется написать программу, которая выводит цифры, встречающиеся во входной последовательности, в порядке увеличения частоты их встречаемости. Если какие-то цифры встречаются одинаковое число раз, они выводятся в порядке возрастания. Например, если исходная последовательность была такая:
123124456.
то результат должен быть следующий:
356124
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
2435 ege27 Строки, частотный словарь
На вход программе подается последовательность символов, заканчивающаяся нулем. Ноль в этой последовательности единственный, среди символов обязательно есть другие десятичные цифры. Требуется написать программу, которая составляет из этих цифр число-палиндром максимальной длины (которое читается одинаково слева направо и справа налево). Если таких чисел несколько, нужно вывести минимальное из них. Нулей в числе быть не должно (ноль – признак окончания ввода). Все имеющиеся цифры использовать не обязательно, но количество цифр в ответе должно быть максимально возможным. Например, если исходная последовательность была такая:
for i:=99921 downto 20
то результат должен быть следующий:
29192
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
2436 ege27 Строки, частотный словарь
На вход программе подается предложение на английском языке, заканчивающееся точкой. Требуется написать программу, которая определяет, можно ли переставить английские буквы этого предложения (не учитывая остальные символы) так, чтобы получить палиндром – слово, которое читается одинаково слева направо и справа налево. Строчные и прописные буквы не различаются. Если это сделать нельзя, программа должна вывести на экран слово «Нет», а если можно – слово «Да» и в следующей строчке искомое слово прописными буквами. Если таких слов несколько, нужно вывести последнее в алфавитном порядке слово. Например, если исходная последовательность была такая:
Deed daad N.
то результат должен быть следующий:
Да
EDDANADDE
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
2437 ege27 Строки, частотный словарь
На вход программе подается набор символов, заканчивающийся точкой. Напишите эффективную, в том числе и по используемой памяти, программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая сначала будет определять, есть ли в этом наборе символы, соответствующие десятичным цифрам. Если такие символы есть, то можно ли переставить их так, чтобы полученное число было симметричным (читалось одинаково как слева направо, так и справа налево). Ведущих нулей в числе быть не должно, исключение – число 0, запись которого содержит ровно один ноль. Если требуемое число составить невозможно, то программа должна вывести на экран слово “NO”. А если возможно, то в первой строке следует вывести слово “YES”, а во второй – искомое симметричное число. Если таких чисел несколько, то программа должна выводить максимальное из них. Например, пусть на вход подаются следующие символы:
Do not 911 to 09 do.
В данном случае программа должна вывести
YES
91019
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
2438 ege27 Строки, частотный словарь
На вход программе подается последовательность символов, среди которых могут быть и цифры, заканчивающаяся точкой. Требуется написать программу, которая составляет и выводит минимальное число из тех цифр, которые не встречаются во входных данных. Ноль не используется. Если во входных данных встречаются все цифры от 1 до 9, то следует вывести «0». Например, если исходная последовательность была такая:
1A734B39.
то результат должен быть следующий:
2568
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
2443 ege27 Строки, частотный словарь
На вход программе подается текстовый файл, в первой строке которого записано квадратное уравнение, причем используются обозначения:
x2 обозначается как «a»
x обозначается как «b»
Например, уравнение запишется в виде строки
2a-4b-6
Гарантируется, что уравнение имеет «хороший» вид, все его коэффициенты определены и корни вещественные. Напишите эффективную по времени работы и по используемой памяти программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая дописывает в конец файла корни уравнения. Для приведенного входного файла программа должна дописать в конец файла
-1
3
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
2448 ege27 Строки, частотный словарь
Взаимным индексом совпадения строк1 S1 и S2, которые включают только латинские буквы, называется величина
,где n1 и n2 – длины строк S1 и S2, а – число вхождений буквы, имеющей номер k в латинском алфавите, в строку Si. Например, индекс совпадений строк «Moloko» и «mAma» равен
(одна общая буква «m» встречается 1 раз в первой строке и 2 раза во второй строке). Напишите эффективную программу, которая вводит с клавиатуры две строки, содержащие (кроме латинских букв) знаки препинания и пробелы, и вычисляет взаимный индекс совпадения этих строк.
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
2450 ege27 Строки, частотный словарь
Вам необходимо написать программу анализа текста. На вход программе подаются строки, содержащие английские слова. В одной строке может быть произвольное количество слов. Все слова записаны строчными (маленькими) английскими буквами. Между словами в строке может быть один или больше пробелов, возможны пробелы в начале и в конце строки. Других символов, кроме строчных английских букв и пробелов, в строках нет. Длина каждой строки не превышает 200 символов. Количество строк неизвестно, общее количество слов не более одного миллиона. Конец ввода обозначается строкой, содержащей единственный символ «*».
Напишите эффективную, в том числе по памяти, программу, которая будет определять количество слов, начинающихся на каждую букву английского алфавита, и выводить эти количества и соответствующие им буквы в порядке убывания. Если количество слов, начинающихся на какие-то буквы, совпадает, эти буквы следует выводить в алфавитном порядке. Если на какую-то букву слов нет, выводить эту букву не надо.
Размер памяти, которую использует Ваша программа, не должен зависеть от размера исходного списка.
Перед текстом программы кратко опишите используемый Вами алгоритм решения задачи и укажите используемый язык программирования и его версию.
Пример входных данных:
one two three four five
a quick brown fox
*
Пример выходных данных для приведенного выше примера входных данных:
f 3
t 2
а 1
b 1
о 1
q 1
Примечание. Английский алфавит совпадает с латинским и содержит 26 букв от а до z:
abcdefghijklmnopqrstuvwxyz
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
Баллы ( 6 )
2414 ege27 Баллы
На городской олимпиаде по информатике участникам было предложено выполнить 3 задания, каждое из которых оценивалось по 25-балльной шкале. Известно, что общее количество участников первого тура олимпиады не превосходит 250 человек. На вход программы подаются сведения о результатах олимпиады. В первой строке вводится количество участников N. Далее следуют N строк, имеющих следующий формат:
<Фамилия> <Имя> <Баллы>
Здесь <Фамилия> – строка, состоящая не более чем из 20 символов; <Имя> – строка, состоящая не более чем из 15 символов; <Баллы> – строка, содержащая три целых числа, разделенных пробелом, соответствующих баллам, полученным участником за каждое задание первого тура. При этом <Фамилия> и <Имя>, <Имя> и <Баллы> разделены одним пробелом. Примеры входных строк:
Петрова Ольга 25 18 16
Калиниченко Иван 14 19 15
Напишите программу, которая будет выводить на экран фамилию и имя участника, набравшего максимальное количество баллов. Если среди остальных участников есть ученики, набравшие такое же количество баллов, то их фамилии и имена также следует вывести. При этом имена и фамилии можно выводить в произвольном порядке.
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
2415 ege27 Баллы
На вход программы подаются сведения о результатах соревнований по школьному многоборью. Многоборье состоит из соревнований по четырем видам спорта, участие в каждом из которых оценивается баллами от 0 до 10 (0 баллов получает ученик, не принимавший участия в соревнованиях по данному виду спорта). Победители определяются по наибольшей сумме набранных баллов. Известно, что общее количество участников соревнований не превосходит 100.
В первой строке вводится количество учеников, принимавших участие в соревнованиях, N. Далее следуют N строк, имеющих следующий формат:
<Фамилия> <Имя> <Баллы>
Здесь <Фамилия> – строка, состоящая не более чем из 20 символов; <Имя> – строка, состоящая не более чем из 15 символов; <Баллы> — строка, содержащая четыре целых числа, разделенных пробелом, соответствующих баллам, полученным на соревнованиях по каждому из четырех видов спорта. При этом <Фамилия> и <Имя>, <Имя> и <Баллы> разделены одним пробелом. Примеры входных строк:
Иванова Мария 5 8 6 3
Петров Сергей 9 9 5 7
Напишите программу, которая будет выводить на экран фамилии и имена трех лучших участников многоборья. Если среди остальных участников есть ученики, набравшие то же количество баллов, что и один из трех лучших, то их фамилии и имена также следует вывести. При этом имена и фамилии можно выводить в произвольном порядке.
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
2416 ege27 Баллы
В некотором вузе абитуриенты проходят предварительное тестирование, по результатам которого могут быть допущены к сдаче вступительных экзаменов в первом потоке. Тестирование проводится по двум предметам, по каждому предмету абитуриент может набрать от 0 до 100 баллов. При этом к сдаче экзаменов в первом потоке допускаются абитуриенты, набравшие по результатам тестирования не менее 30 баллов по каждому из двух предметов. На вход программы подаются сведения о результатах предварительного тестирования. Известно, что общее количество участников тестирования не превосходит 500.
В первой строке вводится количество абитуриентов, принимавших участие в тестировании, N. Далее следуют N строк, имеющих следующий формат:
<Фамилия> <Имя> <Баллы>
Здесь <Фамилия> – строка, состоящая не более чем из 20 символов; <Имя> – строка, состоящая не более чем из 15 символов; <Баллы> – строка, содержащая два целых числа, разделенных пробелом, соответствующих баллам, полученным на тестировании по каждому из двух предметов. При этом <Фамилия> и <Имя>, <Имя> и <Баллы> разделены одним пробелом. Примеры входных строк:
Ветров Роман 68 59
Анисимова Екатерина 64 88
Напишите программу, которая будет выводить на экран фамилии и имена абитуриентов, потерпевших неудачу, то есть не допущенных к сдаче экзаменов в первом потоке. При этом фамилии должны выводиться в алфавитном порядке.
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
2421 ege27 Баллы
В некотором вузе абитуриенты проходили предварительное тестирование, по результатам которого они могут быть допущены к сдаче вступительных экзаменов в первом потоке. Тестирование проводится по трём предметам, по каждому предмету абитуриент может набрать от 0 100 баллов. При этом к сдаче экзаменов в первом потоке допускаются абитуриенты, набравшие по результатам тестирования не менее 30 баллов по каждому из трёх предметов, причём сумма баллов должна быть не менее 140. На вход программы подаются сведения о результатах предварительного тестирования. Известно, что общее количество участников тестирования не превосходит 500.
В первой строке вводится количество абитуриентов, принимавших участие в тестировании, N. Далее следуют N строк, имеющих следующий формат:
<Фамилия> <Имя> <Баллы>
Здесь <Фамилия> – строка, состоящая не более чем из 20 символов; <Имя> – строка, состоящая не более чем из 15 символов, <Баллы> – строка, содержащая два целых числа, разделенных пробелом – баллы, полученные на тестировании по каждому из трёх предметов. При этом <Фамилия> и <Имя>, <Имя> и <Баллы> разделены одним пробелом. Пример входной строки:
Романов Вельямин 48 39 55
Напишите программу, которая будет выводить на экран фамилии и имена абитуриентов, допущенных к сдаче экзаменов в первом потоке. При этом фамилии должны выводиться в алфавитном порядке.
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
2430 ege27 Баллы
Имеется список учеников разных школ, сдававших экзамен по информатике, с указанием их фамилии, имени, школы и набранного балла. Напишите эффективную по времени работы и по используемой памяти программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет определять номера школ, в которых средний балл выше, чем средний по району. Если такая школа одна, нужно вывести и средний балл (в следующей строчке). Известно, что информатику сдавали не менее 5 учеников. Кроме того, школ с некоторыми номерами не существует.
На вход программе в первой строке подается количество учеников списке N. В каждой из последующих N строк находится информация в следующем формате:
<Фамилия> <Имя> <Школа> <Балл>
где <Фамилия> – строка, состоящая не более, чем из 20 символов без пробелов, <Имя> – строка, состоящая не более, чем из 20 символов без пробелов, <Школа> – целое число от 1 до 99, <Балл> – целое число от 1 до 100.
Пример входной строки:
Иванов Сергей 50 87
Пример выходных данных, когда найдено три школы:
50 87 23
Пример вывода в том случае, когда найдена одна школа:
18
Средний балл = 85
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
2440 ege27 Баллы
На вход программе подаются сведения о студентах некоторого вуза. В первой строке сообщается количество студентов N (не более 100). Каждая из следующих строк имеет формат:
<фамилия> <имя> <курс> <стипендия>
Все данные в строке разделяются одним пробелом. Фамилия состоит не более, чем из 20 символов, имя – не более, чем из 15. Курс – целое число от 1 до 5, стипендия – целое число. Требуется написать программу, которая будет выводить фамилии и имена всех студентов, имеющих максимальные стипендии на каждом курсе.
Пример входных строк:
25
Федорова Ирина 5 4500
Семенов Илья 3 2800
Пример выходных строк:
Курс 1
Петров Иван
Иванов Сидор
Курс 3
Смирнов Максим
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
Распределить данные ( 24 )
2410 ege27 Распределить данные
На вход программы подается 366 строк, которые содержат информацию о среднесуточной температуре всех дней 2008 года. Формат каждой из строк следующий: сначала записана дата в виде dd.mm (на запись номера дня и номера месяца в числовом формате отводится строго два символа, день от месяца отделен точкой), затем через пробел записано значение температуры — число со знаком плюс или минус, с точностью до 1 цифры после десятичной точки. Данная информация отсортирована по значению температуры, то есть хронологический порядок нарушен. Требуется написать программу на языке Паскаль или Бейсик, которая будет выводить на экран информацию о месяце (месяцах), среднемесячная температура у которого (которых) наименее отклоняется от среднегодовой. В первой строке вывести среднегодовую температуру. Найденные значения для каждого из месяцев следует выводить в отдельной строке в виде: номер месяца, значение среднемесячной температуры, отклонение от среднегодовой температуры.
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
2413 ege27 Распределить данные
На вход программы подаются фамилии и имена учеников. Известно, что общее количество учеников не превосходит 100. В первой строке вводится количество учеников, принимавших участие в соревнованиях, N. Далее следуют N строк, имеющих следующий формат:
<Фамилия> <Имя>
Здесь <Фамилия> – строка, состоящая не более чем из 20 символов; <Имя> – строка, состоящая не более чем из 15 символов. При этом <Фамилия> и <Имя> разделены одним пробелом. Примеры входных строк:
Иванова Мария
Петров Сергей
Требуется написать программу, которая формирует и печатает уникальный логин для каждого ученика по следующему правилу: если фамилия встречается первый раз, то логин – это данная фамилия, если фамилия встречается второй раз, то логин – это фамилия, в конец которой приписывается число 2 и т.д. Например, для входной последовательности
Иванова Мария
Петров Сергей
Бойцова Екатерина
Петров Иван
Иванова Наташа
будут сформированы следующие логины:
Иванова
Петров
Бойцова
Петров2
Иванова2
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
2417 ege27 Распределить данные
На вход программе подаются сведения о телефонах всех сотрудников некоторого учреждения. В первой строке сообщается количество сотрудников N, каждая из следующих N строк имеет следующий формат:
<Фамилия> <Инициалы> <телефон>
где <Фамилия> – строка, состоящая не более чем из 20 символов, <Инициалы> — строка, состоящая не более чем из 4-х символов (буква, точка, буква, точка), <телефон> – семизначный номер, 3-я и 4, я, а также 5-я и 6-я цифры которого разделены символом «–». <Фамилия> и <Инициалы>, а также <Инициалы> и <телефон> разделены одним пробелом. Пример входной строки:
Иванов П.С. 555-66-77
Сотрудники одного подразделения имеют один и тот же номер телефона. Номера телефонов в учреждении отличаются только двумя последними цифрами. Требуется написать как можно более эффективную программу, которая будет выводить на экран информацию, сколько в среднем сотрудников работает в одном подразделении данного учреждения.
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
2425 ege27 Распределить данные
На вход программе подаются сведения о пассажирах, сдавших свой багаж в камеру хранения. В первой строке задано текущее время: через двоеточие два целых числа, соответствующие часам (от 00 до 21, ровно 2 символа) и минутам (от 00 до 59, ровно 2 символа). Во второй строке задается количество пассажиров N, которое не меньше 10, но не превосходит 1000. В каждой из последующих N строк находится информация о пассажирах в следующем формате:
<Фамилия> <Время освобождения ячейки>
где <Фамилия> – строка, состоящая не более, чем из 20 символов без пробелов, <Время освобождения ячейки> – через двоеточие два целых числа, соответствующие часам (от 00 до 21, ровно 2 символа) и минутам (от 00 до 59, ровно 2 символа). <Фамилия> и <Время освобождения ячейки> разделены ровно одним пробелом. Пример входных строк:
10:00
3
Иванов 12:00
Петров 10:12
Сидоров 12:12
Программа должна выводить список пассажиров, которые в ближайшие 2 часа должны освободить ячейки. Список должен быть отсортирован в хронологическом порядке освобождения ячеек. В данном случае программа должна вывести
Петров
Иванов
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
2428 ege27 Распределить данные
Имеется список людей с указанием их фамилии, имени и даты рождения. Напишите эффективную по времени работы и по используемой памяти программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет определять самого старшего человека из этого списка и выводить его фамилию и имя, а если имеется несколько самых старших людей с одинаковой датой рождения, то определять их количество.
На вход программе в первой строке подается количество людей в списке N. В каждой из последующих N строк находится информация в следующем формате:
<Фамилия> <Имя> <Дата рождения>
где <Фамилия> – строка, состоящая не более, чем из 20 символов без пробелов, <Имя> – строка, состоящая не более, чем из 20 символов без пробелов, <Дата рождения> – строка, имеющая вид ДД.ММ.ГГГГ, где ДД – двузначное число от 01 до 31, ММ – двузначное число от 01 до 12, ГГГГ – четырехзначное число от 1800 до 2100.
Пример входной строки:
Иванов Сергей 27.03.1993
Программа должна вывести фамилию и имя самого старшего человека в списке.
Пример выходных данных:
Иванов Сергей
Если таких людей, несколько, то программа должна вывести их количество. Пример вывода в этом случае:
3
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
2439 ege27 Распределить данные
На вход программе подаются сведения о ячейках камеры хранения багажа. В первой строке – текущая дата – день (ровно две цифры, от 01 до 31), затем через точку – месяц (ровно две цифры, от 01 до 12). Во второй строке сообщается количество занятых ячеек N (не меньше 3, но не больше 1000). Каждая из следующих строк имеет формат:
<номер ячейки> <дата сдачи багажа>
Номер ячейки – это целое число, дата – 5 символов: день (ровно две цифры, от 01 до 31), затем через точку – месяц (ровно две цифры, от 01 до 12). Сведения отсортированы по номерам ячеек. Все даты относятся к одному календарному году. Считать, что в феврале 28 дней.
Нужно вывести номера тех ячеек, в которых багаж хранится более 3 дней в хронологическом порядке сдачи багажа. Например, если исходные данные были такие:
04.06
3
1000 01.06
1001 31.05
2007 21.05
то результат должен быть следующий:
2007
1001
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
2442 ege27 Распределить данные
Дан список результатов сдачи экзамена учащимися школ некоторого района, с указанием фамилии и имени учащегося, номера школы и итогового балла. Напишите эффективную по времени работы и по используемой памяти программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая определяет номера школ, в которых больше всего учащихся получило за экзамен максимальный балл среди всех учащихся района.
На вход программе в первой строке подается количество учащихся во всех школах района N. В каждой из последующих N строк находится информация в следующем формате:
<Фамилия> <Имя> <Номер школы> <Балл>
где < Фамилия > — строка, состоящая не более, чем из 20 символов без пробелов, <Имя> — строка, состоящая не более, чем из 20 символов без пробелов, <Номер школы> — число от 1 до 99, <Балл> – число от 0 до 100. Порядок следования строк — произвольный.
Пример входных данных:
б
Иванов Сергей 7 74
Сергеев Петр 3 82
Петров Кирилл 7 85
Кириллов Егор 3 82
Егоров Николай 7 85
Николаев Иван 19 85
Программа должна вывести номера школ, из которых наибольшее количество учащихся получило на экзамене максимальный балл среди всех учащихся района. Пример вывода для приведенного выше примера ввода:
7
Примечание. В данном примере максимальный балл по району равен 85, его набрало 2 учащихся из школы 7 и 1 учащийся из школы 19, поэтому выводится только номер школы 7.
При выполнении задания следует учитывать, что значение N может быть велико (до 10.000).
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
2444 ege27 Распределить данные
В командных олимпиадах по программированию для решения предлагается не более 12 задач. Команда может решать предложенные задачи в любом порядке. Подготовленные решения команда посылает в единую проверяющую систем соревнований. Вам предлагается написать эффективную, в том числе и по используемой памяти, программу, которая будет статистически обрабатывать пришедшие запросы на проверку, чтобы определить популярность той или иной задачи. Следует учитывать, что количество запросов в списке может быть очень велико, например, когда олимпиада проводится через Интернет. перед текстом программы кратко опишите используемый вами алгоритм решения задачи. На вход программе в первой строчке подается количество пришедших запросов N. В каждой из последующих N строк записан номер задачи от 1 до 12. Пример входных данных:
6
1
2
1
1
5
2
Программа должна вывести список всех задач, встречающихся в запросах, в порядке возрастания (неубывания) количества запросов по ней с указанием этого количества запросов. Каждая задача должна быть выведена только один раз. Пример выходных данных для приведенных входных данных:
5 1
2 2
1 3
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
2445 ege27 Распределить данные
Популярная газета объявила конкурс на выбор лучшего фильма, для которого стоит снять продолжение. На выбор читателей было предложено 10 фильмов. Вам предлагается написать эффективную, в том числе и по используемой памяти, программу, которая будет статистически обрабатывать результаты sms-голосования по этому вопросу, чтобы определить популярность того или иного фильма. Следует учитывать, что количество голосов в списке может быть очень велико. На вход программе в первой строчке подается количество пришедших sms-сообщений N. В каждой из последующих N строк записано название фильма. Пример входных данных:
6
Белое солнце пустыни
Бриллиантовая рука
Белое солнце пустыни
Белое солнце пустыни
Гараж
Бриллиантовая рука
Программа должна вывести список всех фильмов, встречающихся в списке, в порядке убывания (невозрастания) количества отданных за них голосов с указанием этого количества голосов. Название каждого фильма должно быть выведено только один раз. Пример выходных данных для приведенных входных данных:
Белое солнце пустыни 3
Бриллиантовая рука 2
Гараж 1
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
2453 ege27 Распределить данные
На электронную почту Вам пришло письмо, подписанное аббревиатурой (первыми буквами фамилии, имени и отчества (далее — ФИО) отправителя). Аббревиатура оказалась Вам незнакома. У Вас есть список всех предполагаемых отправителей, взятый из ранее полученных писем, среди которых различных людей с такой аббревиатурой не больше 10.
Вам предлагается написать эффективную, в том числе по используемой памяти, программу (укажите используемую версию языка, например Borland Pascal 7.0), которая определит всех вероятных адресатов – людей, ФИО которых можно сократить до нужной аббревиатуры. ФИО следует выдать в порядке убывания частоты их встречаемости в списке.
На вход программе в первой строке подается аббревиатура – строка, состоящая из трех заглавных латинских букв. Во второй строке находится число N – количество ФИО, полученных в результате анализа почты, не все из них подходят под указанную аббревиатуру. Значение N может быть очень велико. В каждой из следующих N строк записано три слова: Фамилия Имя Отчество соответствующего человека. Слова разделяются одним пробелом. В конце и в начале строки пробелов нет. Все слова записаны заглавными латинскими буквами. Длина ФИО не превышает 100 символов. Гарантируется, что хотя бы один человек с нужной аббревиатурой есть.
Пример входных данных:
IPI
4
IVANOV PETR IVANOVICH
PETROV IVAN IVANOVICH
IVANOV PETR IVANOVICH
ILYIN PETR ILYICH
Программа должна вывести предполагаемых отправителей письма с указанием частоты их встречаемости в списке (в порядке убывания частоты).
Пример выходных данных для приведенного выше примера входных данных:
IVANOV PETR IVANOVICH 2
ILYIN PETR ILYICH 1
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
2454 ege27 Распределить данные
На вход программе подаются сведения о пассажирах, желающих сдать свой багаж в камеру хранения на заранее известное время до полуночи. В первой строке сообщается число пассажиров N, которое не меньше 3, но не превосходит 1000; во второй строке – количество ячеек в камере хранения K, которое не меньше 10, но не превосходит 1000. Каждая из следующих N
строк имеет следующий формат:
<Фамилия> <время сдачи багажа> <время освобождения ячейки>,
где <Фамилия> – строка, состоящая не более чем из 20 непробельных символов; <время сдачи багажа> – через двоеточие два целых числа, соответствующие часам (от 00 до 23 – ровно 2 символа) и минутам (от 00 до 59 – ровно 2 символа); <время освобождения ячейки> имеет тот же формат. <Фамилия> и <время сдачи багажа>, а также <время сдачи багажа> и <время освобождения ячейки> разделены одним пробелом. Время освобождения больше времени сдачи.
Сведения отсортированы в порядке времени сдачи багажа. Каждому из пассажиров в камере хранения выделяется свободная ячейка с минимальным номером. Если в момент сдачи багажа свободных ячеек нет, то пассажир уходит, не дожидаясь освобождения одной из них.
Требуется написать программу (укажите используемую версию языка программирования, например Borland Pascal 7.0), которая будет выводить на экран для каждого пассажира номер ему предоставленной ячейки (можно сразу после ввода данных очередного пассажира). Если ячейка пассажиру не предоставлена, то его фамилия не печатается.
Пример входных данных:
3
10
Иванов 09:45 12:00
Петров 10:00 11:00
Сидоров 12:00 13:12
Результат работы программы на этих входных данных:
Иванов 1
Петров 2
Сидоров 1
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
2457 ege27 Распределить данные
Соревнования по игре «Тетрис-онлайн» проводятся по следующим правилам.
Каждый участник регистрируется на сайте игры под определённым игровым именем. Имена участников не повторяются.
Чемпионат проводится в течение определённого времени. В любой момент этого времени любой зарегистрированный участник может зайти на сайт чемпионата и начать зачётную игру. По окончании игры её результат (количество набранных очков) фиксируется и заносится в протокол.
Участники имеют право играть несколько раз. Количество попыток одного участника не ограничивается.
Окончательный результат участника определяется по одной игре, лучшей для данного участника.
Более высокое место в соревнованиях занимает участник, показавший лучший результат.
При равенстве результатов более высокое место занимает участник, раньше показавший лучший результат.
В ходе соревнований заполняется протокол, каждая строка которого описывает одну игру и содержит результат участника и его игровое имя. Протокол формируется в реальном времени по ходу проведения чемпионата, поэтому строки в нём расположены в порядке проведения игр: чем раньше встречается строка в протоколе, тем раньше закончилась соответствующая этой строке игра.
Напишите эффективную, в том числе по памяти, программу, которая по данным протокола определяет победителя и призёров. Гарантируется, что в чемпионате участвует не менее трёх игроков.
Перед текстом программы кратко опишите алгоритм решения задачи и укажите используемый язык программирования и его версию.
Описание входных данных
Первая строка содержит число N- общее количество строк протокола. Каждая из следующих N строк содержит записанные через пробел результат участника (целое неотрицательное число, не превышающее 100 миллионов) и игровое имя (имя не может содержать пробелов). Строки исходных данных соответствуют строкам протокола и расположены в том же порядке, что и в протоколе.
Гарантируется, что количество участников соревнований не меньше 3.
Описание выходных данных
Программа должна вывести имена и результаты трёх лучших игроков по форме, приведённой ниже в примере.
Пример входных данных:
9
69485 Jack
95715 qwerty
95715 Alex
83647 М
197128 qwerty
95715 Jack
93289 Alex
95715 Alex
95710 M
Пример выходных данных для приведённого выше примера входных данных:
1 место. qwerty (197128)
2 место. Alex (95715)
3 место. Jack (95715)
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
2419 ege27 Распределить данные
В молочных магазинах города Х продается сметана с жирностью 15, 20 и 25 процентов. В городе X был проведен мониторинг цен на сметану. Напишите эффективную по времени работы и по используемой памяти программу, которая будет определять для каждого вида сметаны, сколько магазинов продают ее дешевле всего. На вход программе сначала подается число магазинов N. В каждой из следующих N строк находится информация в следующем формате:
<Фирма> <Улица> <Жирность> <Цена>
где <Фирма> – строка, состоящая не более, чем из 20 символов без пробелов, <Улица> – строка, состоящая не более, чем из 20 символов без пробелов, <Жирность> – одно из чисел – 15, 20 или 25, <Цена> – целое число в диапазоне от 2000 до 5000, обозначающее стоимость одного литра сметаны в копейках. <Фирма> и <Улица>, <Улица> и <Жирность>, а также <Жирность> и <Цена> разделены ровно одним пробелом. Пример входной строки:
Перекресток Короленко 25 3200
Программа должна выводить через пробел 3 числа – количество магазинов, продающих дешевле всего сметану с жирностью 15, 20 и 25 процентов. Если какой-то вид сметаны нигде не продавался, то следует вывести 0.
Пример выходных данных:
12 10 0
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
2461 ege27 Распределить данные
Дед Мороз и Снегурочка приходят на детские утренники с мешком конфет. Дед Мороз делит конфеты поровну между всеми присутствующими детьми (детей на утреннике никогда не бывает больше 100), а оставшиеся конфеты отдает Снегурочке. Снегурочка каждый раз записывает в блокнот количество полученных конфет. Если конфеты разделились между всеми детьми без остатка, Снегурочка ничего не получает и ничего не записывает. Когда утренники закончились, Деду Морозу стало интересно, какое число чаще всего записывала Снегурочка. Дед Мороз и Снегурочка – волшебные, поэтому число утренников N, на которых они побывали, может быть очень большим.
Напишите программу, которая будет решать эту задачу. Перед текстом программы кратко опишите алгоритм решения задачи и укажите используемый язык программирования и его версию.
Желательно, чтобы программа была эффективной как по времени работы, так и по используемой памяти. Программу будем считать эффективной по памяти, если используемая память не зависит от размера входных данных (то есть числа утренников). Программу будем считать эффективной по
времени, если при увеличении размера входных данных N в t раз (t – любое число) время её работы увеличивается не более чем в t раз.
Описание входных данных
В первой строке вводится одно целое положительное число – количество утренников N.
Каждая из следующих N строк содержит два целых числа: сначала D – количество пришедших на очередной утренник детей, а затем K – количество конфет в мешке Деда Мороза на этом утреннике. Гарантируется выполнение следующих соотношений:
1 ≤ N ≤ 10000
1 ≤ D ≤ 100 (для каждого D)
D ≤ K ≤ 1000 (для каждой пары D, K)
Описание выходных данных
Программа должна вывести одно число – то, которое Снегурочка записывала чаще всего. Если несколько чисел записывались одинаково часто, надо вывести большее из них. Если Снегурочка ни разу ничего не записывала, надо вывести ноль.
Пример входных данных:
7
10 58
15 315
20 408
100 1000
32 63
32 63
11 121
Пример выходных данных для приведённого выше примера входных данных:
31
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
2422 ege27 Распределить данные
На автозаправочных станциях (АЗС) продается бензин с маркировкой 92, 95 и 98. В городе N был проведен мониторинг цены бензина на различных АЗС. Напишите эффективную по времени работы и по используемой памяти программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет определять для каждого вида бензина, сколько АЗС продают его дешевле всего.
На вход программе в первой строке подается число данных N о стоимости бензина. В каждой из последующих N строк находится информация в следующем формате:
<Компания> <Улица> <Марка> <Цена>
где <Компания> – строка, состоящая не более, чем из 20 символов без пробелов, <Улица> – строка, состоящая не более, чем из 20 символов без пробелов, <Марка> – одно из чисел – 92, 95 или 98, <Цена> – целое число в диапазоне от 1000 до 3000, обозначающее стоимость одного литра бензина в копейках.
<Компания> и <Улица>, <Улица> и <Марка>, а также <Марка> и <Цена> разделены ровно одним пробелом. Пример входной строки:
Синойл Цветочная 95 2250
Программа должна выводить через пробел 3 числа – количество АЗС, продающих дешевле всего 92-й, 95-й и 98-й бензин соответственно. Если бензин какой-то марки нигде не продавался, то следует вывести 0.
Пример выходных данных:
12 1 0
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
2427 ege27 Распределить данные
Имеется список результатов голосования избирателей за несколько партий, в виде списка названий данных партий. На вход программе в первой строке подается количество избирателей в списке N. В каждой из последующих N строк записано название партии, за которую проголосовал данный избиратель, в виде текстовой строки. Длина строки не превосходит 50 символов, название может содержать буквы, цифры, пробелы и прочие символы.
Пример входных данных:
6
Party one
Party two
Party three
Party three
Party two
Party three
Программа должна вывести список всех партий, встречающихся в исходном списке, в порядке убывания количества голосов, отданных за эту партию. При этом название каждой партии должно быть выведено ровно один раз, вне зависимости от того, сколько голосов было отдано за данную партию. Пример выходных данных для приведенного выше примера входных данных:
Party three
Party two
Party one
При этом следует учитывать, что количество голосов избирателей в исходном списке может быть велико (свыше 1000), а количество различных партий в этом списке не превосходит 10.
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
2424 ege27 Распределить данные
В соревнованиях по многоборью (из M видов спорта) участвуют N спортсменов (N < 1000) . На вход программе в первой строке подается число спортсменов N, во второй – число видов спорта M. В каждой из последующих N строк находится информация в следующем формате:
<Фамилия> <Имя> <Баллы>
где <Фамилия> – строка, состоящая не более, чем из 20 символов без пробелов, <Имя> – строка, состоящая не более, чем из 12 символов без пробелов, <Баллы> – M целых чисел, обозначающие количество баллов, набранных спортсменом в каждом из видов многоборья.
<Фамилия> и <Имя>, <Имя> и <Баллы>, а также отдельные числа в поле <Баллы> разделены ровно одним пробелом. Пример входных строк:
3
4
Иванов Сергей 100 30 78 13
Петров Антон 90 16 98 14
Сидоров Юрий 100 70 30 21
Программа должна выводить результирующую таблицу, содержащую список спортсменов, отсортированный по убыванию суммы баллов, набранные суммы и занятые места.
В данном случае программа должна вывести
Иванов Сергей 221 1
Сидоров Юрий 221 1
Петров Антон 218 2
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
4444 ege27 Распределить данные
Имеется набор данных, состоящий из пар положительных целых чисел. Для каждой пары чисел находится значение А – наибольший общий делитель. Напишите эффективную по времени работы и по используемой памяти программу, которая будет определять, какое значение А встречалось чаще всего. Если несколько значений А встречалось одинаковое наибольшее количество раз, вывести их в порядке убывания.
Программа считается эффективной по времени, если время работы программы пропорционально количеству пар чисел N, т. е. при увеличении N в k раз время работы программы должно увеличиваться не более чем в k раз. Программа считается эффективной по памяти, если размер памяти, использованной в программе для хранения данных, не зависит от числа N и не превышает 100 килобайт.
Входные данные:
На вход программе в первой строке подаётся количество пар N (1 N 100000). Каждая из следующих N строк содержит два натуральных числа, не превышающих 1000.
Пример входных данных:
6
1 3
5 15
6 9
5 4
3 3
36 40
Пример выходных данных для приведённого примера входных данных:
3 1
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
4447 ege27 Распределить данные
Назовём длиной числа количество цифр в его десятичной записи. Например, длина числа 2017 равна 4, а длина числа 7 равна 1. Дан набор из N целых положительных чисел, каждое из которых не превышает 109. Необходимо определить, числа какой длины реже всего (но не менее одного раза) встречаются в данном наборе и сколько в нём чисел этой длины. Если числа разной длины встречаются одинаково часто (и реже, чем числа любой другой длины), нужно выбрать меньшую длину. Напишите эффективную по времени и по памяти программу для решения этой задачи.
Описание входных и выходных данных
В первой строке входных данных задаётся количество чисел N (1 ≤ N ≤ 10000). В каждой из последующих N строк записано одно натуральное число, не превышающее 10^9.
Пример входных данных:
5
12
417
125
327
4801
Пример выходных данных для приведённого выше примера входных данных:
2 1
В данном наборе реже всего (по 1 разу) встречаются числа длины 2 и 4.
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
4440 ege27 Распределить данные
На вход программы поступает последовательность из N натуральных чисел. Требуется определить, с какой цифры реже всего (но, по крайней мере, один раз) начинается десятичная запись этих чисел. Если таких цифр несколько, необходимо вывести наименьшую из них.
Входные данные:
На вход программе подаётся натуральное число N (N 1000), а затем N натуральных чисел, каждое из которых не превышает 10000.
Пример входных данных:
3
13
214
32
Выходные данные:
Программа должна вывести одну (минимальную) цифру, с которой реже всего начинаются введённые числа.
Пример выходных данных для приведённого примера входных данных:
1
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
4441 ege27 Распределить данные
На вход программы поступает последовательность из N неотрицательных целых чисел, каждое из которых не больше 1000. Требуется определить, какая сумма цифр чаще всего встречается среди этих чисел. Если таких значений несколько, необходимо вывести наибольшее из них.
Входные данные:
На вход программе подаётся натуральное число N (N 1000), а затем N натуральных чисел, каждое из которых не превышает 1000.
Пример входных данных:
3
13
22
32
Выходные данные:
Программа должна вывести наибольшую сумму цифр, которая чаще всего встречается среди введённых чисел.
Пример выходных данных для приведённого примера входных данных:
4
Два числа имеют сумму цифр 4.
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
4442 ege27 Распределить данные
На вход программы поступает последовательность из N натуральных чисел, каждое из которых не больше 1000. Требуется вывести цифры, встречающиеся в эти числах, в порядке неубывания частоты их появления. Если какие-то цифры встречаются одинаковое число раз, они выводятся в порядке убывания.
Входные данные:
На вход программе подаётся натуральное число N (N 1000), а затем N натуральных чисел, каждое из которых не превышает 10000.
Пример входных данных:
3
456
20
3452
Пример выходных данных для приведённого примера входных данных:
6 3 0 5 4 2
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
4443 ege27 Распределить данные
На вход программы поступает последовательность из N натуральных целых чисел, каждое из которых не больше 1000. Требуется определить, можно ли записать все значащие цифры шестнадцатеричной записи этих чисел так, чтобы полученная строка было симметричной (читалась одинаково как слева направо, так и справа налево). Если требуемую строку составить невозможно, то программа должна вывести на экран число 0, а если возможно, то вывести число 1.
Входные данные:
На вход программе подаётся натуральное число N (N 1000), а затем N натуральных чисел, каждое из которых не превышает 10000.
Пример входных данных:
3
13
22
32
Пример выходных данных для приведённого примера входных данных:
0
Из цифр D, 1, 6, 2, 0 нельзя составить симметричную строку.
Пример входных данных:
4
186
68
171
14
Пример выходных данных для приведённого примера входных данных:
1
Из цифр A, B, 4, 4, A, B, D можно составить симметричную строку.
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
4439 ege27 Распределить данные
На вход программы поступает последовательность из N натуральных чисел. Требуется определить, какая цифра чаще всего встречается в десятичной записи этих чисел. Если таких цифр несколько, необходимо вывести их все в порядке убывания – от большей к меньшей.
Входные данные:
На вход программе подаётся натуральное число N (N 1000), а затем N натуральных чисел, каждое из которых не превышает 10000.
Пример входных данных:
3
13
214
32
Выходные данные:
Программа должна вывести цифры, которые встречаются в последовательности наибольшее число раз, в порядке убывания.
Пример выходных данных для приведённого примера входных данных:
3 2 1
(цифры 3, 2 и 1 встречаются по 2 раза).
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
Олимпиады и победители ( 4 )
2418 ege27 Олимпиады и победители
На вход программе сначала подается число участников олимпиады N. В каждой из следующих N строк находится результат одного из участников олимпиады в следующем формате:
<Фамилия> <Имя> <класс> <баллы>
где <Фамилия> – символьная строка (не более 20 символов), <Имя> – символьная строка (не более 15 символов), <класс> – число от 7 до 11, <баллы> – целое число набранных участником баллов. <Фамилия> и <Имя>, <Имя> и <класс>, а также <класс> и <баллы> разделены одним пробелом. Пример входной строки:
Семенов Егор 11 225
Победителем олимпиады становится участник, набравший наибольшее количество баллов, при условии, что он набрал более 200 баллов. Если такое количество баллов набрали несколько участников, то все они признаются победителями при выполнении условия, что их доля не превышает 20% от общего числа участников.
Победителем олимпиады не признается никто, если нет участников, набравших больше 200 баллов, или больше 20% от общего числа участников набрали одинаковый наибольший балл.
Напишите эффективную по времени работы и по используемой памяти программу, которая будет определять фамилию и имя лучшего участника, не ставшего победителем олимпиады. Если таких участников несколько, т.е. если следующий за баллом победителей один и тот же балл набрали несколько человек, или, если победителей нет, а лучших участников несколько (в этом случае именно они являются искомыми), то выдается только количество искомых участников. Гарантируется, что искомые участники (участник) имеются.
Программа должна выводить через пробел фамилию и имя искомого участника или их количество. Пример выходных данных (один искомый участник):
Семенов Егор
Второй вариант выходных данных (несколько искомых участников):
12
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
2420 ege27 Олимпиады и победители
Школьная олимпиада по информатике проводилась для учеников 7-11-х классов, участвующих в общем конкурсе. Каждый участник олимпиады мог набрать от 0 до 70 баллов. Для определения призеров олимпиады сначала отбираются 25% участников, показавших лучшие результаты. Если у последнего участника, входящего в 25%, оказывается такое же количество баллов, как и у следующих за ним в итоговой таблице, все они считаются призерами только тогда, когда набранные ими баллы больше половины максимально возможных; иначе все они не считаются призерами.
Напишите эффективную по времени работы и по используемой памяти программу, которая по результатам олимпиады будет определять минимальный балл призера олимпиады, и количество призеров было в каждой параллели (среди 7-х, 8-х, 9-х, 10-х и 11-х классов отдельно). Гарантируется, что хотя бы одного призера по указанным правилам определить можно.
На вход программе сначала подается число участников олимпиады N. В каждой из следующих N строк находится результат одного из участников олимпиады в следующем формате:
<Фамилия> <Имя> <класс> <баллы>
где <Фамилия> – строка, состоящая не более, чем из 30 символов, <Имя> – строка, состоящая не более, чем из 15 символов, <класс> – число от 7 до 11, <баллы> – целое число от 0 до 70 набранных участником баллов. <Фамилия> и <Имя>, <Имя> и <класс>, а также <класс> и <баллы> разделены одним пробелом. Пример входной строки:
Семенов Сидор 11 66
Программа должна выводить в первой строке минимальный балл призера, а в следующей – число призеров по всем параллелям отдельно.
Пример выходных данных:
63
1 5 8 12 22
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
2429 ege27 Олимпиады и победители
Имеется список учеников разных школ, сдававших экзамен по информатике, с указанием их фамилии, имени, школы и набранного балла. Напишите эффективную по времени работы и по используемой памяти программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет определять двух учеников школы № 50, которые лучше всех сдали информатику, и выводить на экран их фамилии и имена.
Если наибольший балл набрали более двух человек, нужно вывести только их количество. Если наибольший балл набрал один человек, а следующий балл набрало несколько человек, нужно вывести только фамилию и имя лучшего. Известно, что информатику сдавали не менее 5 учеников школы № 50.
На вход программе в первой строке подается количество учеников списке N. В каждой из последующих N строк находится информация в следующем формате:
<Фамилия> <Имя> <Школа> <Балл>
где <Фамилия> – строка, состоящая не более, чем из 20 символов без пробелов, <Имя> – строка, состоящая не более, чем из 20 символов без пробелов, <Школа> – целое число от 1 до 99, <Балл> – целое число от 1 до 100.
Пример входной строки:
Иванов Сергей 50 87
Пример выходных данных, когда найдено два лучших:
Иванов Сергей
Сергеев Иван
Если больше двух учеников набрали высший балл, то программа должна вывести их количество. Пример вывода в этом случае:
8
Если высший балл набрал один человек, а следующий балл набрало несколько человек, то программа должна вывести только фамилию и имя лучшего. Пример вывода в этом случае:
Иванов Сергей
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
2432 ege27 Олимпиады и победители
После единых выпускных экзаменов по информатике в район пришла информация о том, какой ученик какой школы сколько баллов набрал. По положению об экзамене каждый район сам определяет, за какой балл нужно поставить какую оценку.
Районный методист решила, что оценку «отлично» должны получить 20% участников (целое число, с отбрасыванием дробной части). Для этого она должна определить, какой балл должен был набрать ученик, чтобы получить «отлично». Если невозможно определить такой балл, чтобы «отлично» получили ровно 20% участников, «отлично» должно получить меньше участников, чем 20%. Если таких участников не окажется (наибольший балл набрали больше 20% участников) — эти и только эти ученики должны получить «отлично».
Напишите эффективную, в том числе и по используемой памяти, программу (укажите используемую версию языка программирования, например Borland Pascal 7.0), которая должна вывести на экран наименьший балл, который набрали участники, получившие «отлично». Известно, что информатику сдавало больше 5-ти учеников. Также известно, что есть такое количество баллов, которое не получил ни один участник.
На вход программе сначала подаётся число учеников, сдававших экзамен. В каждой из следующих N строк находится информация об учениках в формате:
<Фамилия> <Имя> <Номер школы> <Количество баллов>
где <Фамилия> — строка, состоящая не более чем из 30 символов без пробелов, <Имя> — строка, состоящая не более, чем из 20 символов без пробелов, <Номер школы> — целое число в диапазоне от 1 до 99, <Количество баллов> — целое число в диапазоне от 1 до 100. Эти данные записаны через пробел, причём ровно один между каждой парой (то есть, всего по три пробела в каждой строке).
Пример входной строки:
Иванов Иван 50 87
Пример выходных данных:
78
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
Неразобранное ( 26 )
_
2447 ege27 Неразобранное
По каналу связи передается последовательность положительных целых чисел X1, X2, …; все числа не превышают 1000, их количество заранее неизвестно. Каждое число передается в виде отдельной текстовой строки, содержащей десятичную запись числа. Признаком конца передаваемой последовательности является число 0.
Участок последовательности от элемента XT до элемента XT+N называется подъемом, если на этом участке каждое следующее число больше предыдущего. Высотой подъема называется разность
XT+N — XT.
Напишите эффективную программу, которая вычисляет наибольшую высоту среди всех подъемов последовательности. Если в последовательности нет ни одного подъема, программа выдает 0. Программа должна напечатать отчет по следующей форме:
Получено … чисел
Наибольшая высота подъема: …
Размер памяти, которую использует Ваша программа, не должен зависеть от длины переданной последовательности чисел.
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
2441 ege27 Неразобранное
Некоторый поезд в пути следования останавливается на N станциях (станция номер 1 — начальная, а станция номер N — конечная). Дан список пассажиров поезда, для каждого из которых известно, на какой станции он садится, а на какой — выходит. Напишите эффективную по времени работы и используемой памяти программу, которая по этим данным определяет, на каких перегонах (то есть между какими соседними станциями) в поезде было наименьшее число пассажиров. На вход программе в первой сроке подается количество станций N и количество пассажиров P. В каждой из последующих P строк находится информация о пассажирах в следующем формате:
<Фамилия> <Имя> <станция посадки> <станция выхода>
где <Фамилия> – строка, состоящая не более, чем из 20 символов без пробелов, <Имя> – строка, состоящая не более, чем из 20 символов без пробелов, <станция посадки> и <станция выхода> — числа от 1 до N, при этом номер станции посадки меньше номера станции выхода.
Пример входных данных:
6 3
Иванов Сергей 2 4
Сергеев Петр 1 3
Петров Кирилл 3 6
Программа должна вывести список перегонов, на которых в поезде было наименьшее число пассажиров. Каждый перегон выводится в виде двух последовательных номеров станций, разделенных знаком “-“. Для примера выше результат работы программы должен быть таким (на данных перегонах в поезде находилось наименьшее число пассажиров):
1-2
4-5
5-6
При выполнении задания следует учитывать, что значение N не превосходит 10, а значение P может быть большим (до 1000).
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
3242 ege27 Неразобранное
Дан набор из N
натуральных чисел. Необходимо определить
количество пар элементов (a[i],
a[j])
этого набора, в которых 1 <= i
< j <= N
и сумма элементов кратна 12.
Напишите
эффективную по времени и по памяти
программу для решения этой задачи.
Описание входных и выходных данных
В первой строке входных данных задаётся
количество чисел N (1
≤ N ≤ 10000). В каждой из
последующих N строк
записано одно натуральное число, не
превышающее 1000.
Пример входных данных:
5
7
5
6
12
24
Пример выходных данных для приведённого
выше примера входных данных:
2
В приведённом наборе из 5 чисел имеются
две пары (7, 5) и (12, 24), сумма элементов
которых кратна 12.
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
2449 ege27 Неразобранное
Вам необходимо написать программу распознавания чисел, записанных прописью. Сначала на вход программе подается обучающий блок, состоящий из 27 строк. Первые 9 строк содержат слова «один», «два», …, «девять», следующие 9 строк — слова «одиннадцать», «двенадцать», … «девятнадцать», следующие 9 строк — слова «десять», «двадцать», …, «девяносто». Все слова записаны маленькими русскими буквами без лишних пробелов в начале и в конце строки.
Затем на вход программе подается значение N — количество записей, которые необходимо обработать. Следующие N строк содержат записанные словами числа. Каждое число записано по-русски, маленькими буквами, без ошибок. Если число состоит из нескольких слов, между словами находится ровно один пробел, лишних пробелов в начале и в конце строк нет.
Напишите эффективную программу, которая определит сумму тех входных чисел, которые находятся в интервале от 1 до 99.
Размер памяти, которую использует Ваша программа, не должен зависеть от длины исходного списка.
Перед текстом программы кратко опишите используемый вами алгоритм решения задачи.
Пример входных данных (обучающий блок показан в примере с сокращениями):
один
два
…
девяносто
5
двадцать восемь
два миллиона
четырнадцать
сто двадцать три
тысяча девятьсот восемьдесят четыре
Пример выходных данных для приведённого выше примера входных данных:
42
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
3243 ege27 Неразобранное
На вход программы поступает
последовательность из N
натуральных чисел. Требуется определить,
какая цифра чаще всего встречается в
десятичной записи этих чисел. Если
таких цифр несколько, необходимо вывести
их все в порядке убывания – от большей
к меньшей.
Входные данные:
На вход программе подаётся натуральное
число N (N <= 1000), а затем N натуральных
чисел, каждое из которых не превышает
10000.
Пример входных данных:
3
13
214
32
Выходные данные:
Программа должна вывести цифры, которые
встречаются в последовательности
наибольшее число раз, в порядке убывания.
Пример выходных данных для приведённого
примера входных данных:
3 2 1
(цифры 3, 2 и 1 встречаются по 2 раза)
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
2462 ege27 Неразобранное
Гоночная трасса состоит из двух основных дорог и нескольких переездов, позволяющих перейти с одной дороги на другую.
На всех участках, включая переезды, движение разрешено только в одну сторону, поэтому переезд возможен только с дороги A на дорогу B. Гонщик стартует в точке A0 и должен финишировать в точке BN. Он знает, за какое время сможет пройти каждый участок пути по каждой дороге, то есть время прохождения участков A0A1, A1A2, …, AN-1AN, B0B1, B1B2, …, BN-1BN. Время прохождения всех переездов A0B0, A1B1, …, ANBN одинаково и известно гонщику. Необходимо определить, за какое минимальное время гонщик сможет пройти трассу.
Напишите эффективную, в том числе по используемой памяти, программу для решения этой задачи. Перед текстом программы кратко опишите алгоритм решения и укажите язык программирования и его версию.
Входные данные
В первой строке задаётся количество участков трассы N. Во второй строке задаётся целое число t – время (в секундах) прохождения каждого из переездов A0B0, A1B1, …, ANBN. В каждой из последующих N строк записано два целых числа ai и bi, задающих время (в секундах) прохождения очередного участка на каждой из дорог. В первой из этих строк указывается время прохождения участков A0A1 и B0B1, во второй – A1A2 и B1B2 и т. д.
Пример входных данных
3
20
320 150
200 440
300 210
Выходные данные
Программа должна напечатать одно целое число: минимально возможное
время прохождения трассы (в секундах).
Пример выходных данных для приведённого выше примера входных данных
750
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
3244 ege27 Неразобранное
На вход программы поступает
последовательность из N
натуральных чисел. Требуется определить,
с какой цифры реже всего (но, по крайней
мере, один раз) начинается десятичная
запись этих чисел. Если таких цифр
несколько, необходимо вывести наименьшую
из них.
Входные данные:
На вход программе подаётся натуральное
число N (N <= 1000), а затем N натуральных
чисел, каждое из которых не превышает
10000.
Пример входных данных:
3
13
214
32
Выходные данные:
Программа должна вывести одну (минимальную)
цифру, с которой реже всего начинаются
введённые числа.
Пример выходных данных для приведённого
примера входных данных:
1
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
3245 ege27 Неразобранное
На вход программы поступает
последовательность из N
неотрицательных целых чисел, каждое
из которых не больше 1000. Требуется
определить, какая сумма цифр чаще всего
встречается среди этих чисел. Если
таких значений несколько, необходимо
вывести наибольшее из них.
Входные данные:
На вход программе подаётся натуральное
число N (N <= 1000), а затем N натуральных
чисел, каждое из которых не превышает
1000.
Пример входных данных:
3
13
22
32
Выходные данные:
Программа должна вывести наибольшую
сумму цифр, которая чаще всего встречается
среди введённых чисел.
Пример выходных данных для приведённого
примера входных данных:
4
Два числа имеют сумму цифр 4.
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
3246 ege27 Неразобранное
На вход программы
поступает последовательность из N
натуральных чисел, каждое из которых
не больше 1000. Требуется вывести цифры,
встречающиеся в эти числах, в порядке
неубывания частоты их появления. Если
какие-то цифры встречаются одинаковое
число раз, они выводятся в порядке
убывания.
Входные данные:
На вход программе подаётся натуральное
число N (N <= 1000), а затем N натуральных
чисел, каждое из которых не превышает
10000.
Пример входных данных:
3
456
20
3452
Пример выходных данных для приведённого
примера входных данных:
6 3 0 5 4 2
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
2471 ege27 Неразобранное
По каналу связи передастся последовательность слов в алфавите {А, Е, Р}. Длина каждого слова не превосходит 10 букв, слова могут не быть осмысленными словами русского языка. Каждое слово передается в виде целого числа, полученного следующим образом.
1) Сначала слово колируется с помощью неравномерного двоичного кода с кодовыми словами: Е – 0; Р – 10; А – 11.
2) К полученной двоичной последовательности справа приписывается цифра 1.
3) Полученная двоичная цепочка переворачивается, то есть, из цепочки 01010111 получается 11101010.
4) Искомое число N вычисляется в результате перевода двоичной цепочки, полученной на предыдущем шаге, в десятичную систему.
Например, символьная последовательность ААЕЕР будет преобразована в 11110010, затем (добавляем единицу в конец) – в 111100101, а затем – в число: 1 + 2 + 4 + 8 + 64 + 256 = 335. Отметим, что 335 = 1010011112.
Напишите программу, которая, получив на вход натуральное число, декодирует переданное сообщение и определяет, сколько раз в исходном слове встречаются гласные буквы. Считается, что входное число может быть представлено в виде значения целого типа в используемом языке программирования.
Пример входных данных:
5483
Пример выходных данных:
АЕРАЕРР
4
Примечание. В этом примере: исходное слово: АЕРАЕРР. Кодовая двоичная последовательность: 110101101010, после добавления 1 справа получим: 1101011010101.
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
3247 ege27 Неразобранное
На вход программы поступает
последовательность из N
натуральных целых чисел, каждое из
которых не больше 1000. Требуется
определить, можно ли записать все
значащие цифры шестнадцатеричной
записи этих чисел так, чтобы полученная
строка было симметричной (читалась
одинаково как слева направо, так и
справа налево). Если требуемую строку
составить невозможно, то программа
должна вывести на экран число 0, а если
возможно, то вывести число 1.
Входные данные:
На вход программе подаётся натуральное
число N (N <= 1000), а затем N натуральных
чисел, каждое из которых не превышает
10000.
Пример входных данных:
3
13
22
32
Пример выходных данных для приведённого
примера входных данных:
0
Из цифр D, 1, 6, 2, 0 нельзя составить
симметричную строку.
Пример входных данных:
4
186
68
171
14
Пример выходных данных для приведённого
примера входных данных:
1
Из цифр A, B,
4, 4, A, B, D
можно составить симметричную строку.
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
2474 ege27 Неразобранное
Задание А. Имеется набор данных, состоящий из 6 пар положительных целых чисел. Необходимо выбрать из каждой пары ровно одно число так, чтобы сумма всех выбранных чисел не делилась на 4 и при этом была максимально возможной. Если получить требуемую сумму невозможно, в качестве ответа нужно выдать 0. В этом варианте задания оценивается только правильность программы, время работы и размер использованной памяти не имеют значения.
Задание Б. Имеется набор данных, состоящий из пар положительных целых чисел. Необходимо выбрать из каждой пары ровно одно число так, чтобы сумма всех выбранных чисел не делилась на 4 и при этом была максимально возможной. Если получить требуемую сумму невозможно, в качестве ответа нужно выдать 0.
Программа считается эффективной по времени, если время работы программы пропорционально количеству пар чисел N, т.е. при увеличении N в k раз время работы программы должно увеличиваться не более чем в k раз. Программа считается эффективной по памяти, если размер памяти, использованной в программе для хранения данных, не зависит от числа N и не превышает 1 килобайта.
Входные данные:
Для варианта А на вход программе подаётся 6 строк, каждая из которых содержит два натуральных числа, не превышающих 10000.
Пример входных данных для варианта А:
1 3
5 12
6 8
5 4
3 3
1 1
Для варианта Б на вход программе в первой строке подаётся количество пар N (1 <= N <= 100000). Каждая из следующих N строк содержит два натуральных числа, не превышающих 10 000.
Пример входных данных для варианта Б:
6
1 3
5 12
6 8
5 4
3 3
1 1
Пример выходных данных для приведённых выше примеров входных данных:
31
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
3248 ege27 Неразобранное
Имеется набор
данных, состоящий из пар положительных
целых чисел. Для каждой пары чисел
находится значение А – наибольший
общий делитель. Напишите эффективную
по времени работы и по используемой
памяти программу, которая будет
определять, какое значение А
встречалось чаще всего. Если несколько
значений А встречалось одинаковое
наибольшее количество раз, вывести их
в порядке убывания.
Программа считается эффективной по
времени, если время работы программы
пропорционально количеству пар чисел
N, т. е. при
увеличении N
в k
раз время работы программы должно
увеличиваться не более чем в k
раз.
Программа считается эффективной
по памяти, если размер памяти, использованной
в программе для хранения данных, не
зависит от числа N
и не превышает 100 килобайт.
Входные данные:
На вход программе в первой строке
подаётся количество пар N
(1 <= N <= 100000). Каждая из
следующих N
строк содержит два натуральных числа,
не превышающих 1000.
Пример входных данных:
6
1 3
5 15
6 9
5 4
3 3
36 40
Пример выходных данных для приведённого
примера входных данных:
3 1
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
3249 ege27 Неразобранное
Имеется набор
данных, состоящий из троек натуральных
чисел. Необходимо выбрать из каждой
тройки ровно одно число так, чтобы сумма
всех выбранных чисел не была кратна 4
и при этом была максимально возможной.
Если получить требуемую сумму невозможно,
в качестве ответа нужно выдать 0.
Напишите
эффективную программу, решающую
поставленную задачу.
Входные данные:
На вход программе в первой строке
подаётся количество троек N
(1 <= N <= 100000). Каждая из
следующих N
строк содержит три натуральных числа,
не превышающих 10 000.
Пример входных данных:
6
1
3
2
5
12
12
6
8
12
5
4
12
3
3
12
1
1
13
Пример выходных данных для приведённого
примера входных данных:
63
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
3250 ege27 Неразобранное
Имеется набор данных, состоящий из
троек натуральных чисел. Необходимо
выбрать из каждой тройки два числа так,
чтобы сумма всех выбранных чисел была
кратна 4 и при этом была максимально
возможной. Если получить требуемую
сумму невозможно, в качестве ответа
нужно выдать 0.
Входные данные:
На вход программе в первой строке
подаётся количество троек N
(1 <= N <= 100000). Каждая из
следующих N
строк содержит три натуральных числа,
не превышающих 10 000.
Пример входных данных:
6
8
3
4
4
8
12
9
5
6
2
8
3
12
3
5
1
4
12
Пример выходных данных для приведённого
примера входных данных:
88
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
3251 ege27 Неразобранное
Дан набор из N
натуральных чисел. Необходимо определить
количество пар элементов (a[i],
a[j])
этого набора, в которых 1 <= i
< j <= N
и произведение элементов кратно 6.
Напишите эффективную по времени и по
памяти программу для решения этой
задачи.
Описание входных и выходных данных
В первой строке входных данных задаётся
количество чисел N (1
≤ N ≤ 10000). В каждой из
последующих N строк
записано одно натуральное число, не
превышающее 1000.
Пример входных данных:
4
7
5
6
12
Пример выходных данных для приведённого
выше примера входных данных:
5
В приведённом наборе из 4 чисел имеются
пять пар (7, 6), (5, 6), (7, 12), (5, 12), (6, 12),
произведение элементов которых кратно
6.
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
3252 ege27 Неразобранное
Назовём длиной числа количество цифр
в его десятичной записи. Например, длина
числа 2017 равна 4, а длина числа 7 равна
1. Дан набор из N целых положительных
чисел, каждое из которых меньше 10^9.
Необходимо определить, числа какой
длины реже всего (но не менее одного
раза) встречаются в данном наборе и
сколько в нём чисел этой длины. Если
числа разной длины встречаются одинаково
часто (и реже, чем числа любой другой
длины), нужно выбрать меньшую длину.
Напишите эффективную по времени и по
памяти программу для решения этой
задачи.
Описание входных и выходных данных
В первой строке входных данных задаётся
количество чисел N (1 <= N <= 10000). В каждой из
последующих N строк
записано одно натуральное число, не
превышающее 10^9.
Пример входных данных:
5
12
417
125
327
4801
Пример выходных данных для приведённого
выше примера входных данных:
2 1
В данном наборе реже всего (по 1 разу)
встречаются числа длины 2 и 4.
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
3253 ege27 Неразобранное
По каналу связи передаётся последовательность положительных целых чисел, все числа не превышают 1000. Количество чисел известно, но может быть очень велико. Затем передаётся контрольное значение последовательности — наибольшее число R, удовлетворяющее следующим условиям:
1) R — произведение двух различных переданных элементов последовательности («различные» означает, что не рассматриваются квадраты переданных чисел, произведения различных элементов последовательности, равных по величине, допускаются);
2) R делится на 14.
Если такого числа R нет, то контрольное значение полагается равным 0. В результате помех при передаче как сами числа, так и контрольное значение могут быть искажены. Напишите программу, которая будет проверять правильность контрольного значения.
Программа должна напечатать отчёт по следующей форме:
Вычисленное контрольное значение: …
Контроль пройден (или — Контроль не пройден)
Перед текстом программы кратко опишите используемый Вами алгоритм решения.
На вход программе в первой строке подаётся количество чисел N. В каждой из последующих N строк записано одно натуральное число, не превышающее 1000. В последней строке записано контрольное значение.
Пример входных данных:
77
14
7
9
499
100
7700
(набор данных не проверен)
Пример выходных данных для приведённого выше примера входных данных:
Вычисленное контрольное значение: 7700
Контроль пройден
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
3254 ege27 Неразобранное
Радиотелескоп пытается получать и анализировать сигналы, поступающие из различных участков космоса, при этом различные шумы переводятся в последовательность вещественных неотрицательных чисел, заданных с точностью до одного знака после десятичной точки. Чисел может быть очень много, но не может быть меньше трёх. Все числа не превосходят 1000000.
В последовательности чисел, полученных из одного участка, выделяется основное подмножество элементов. Это такое непустое подмножество элементов, для которого произведение соответствующих чисел является максимально возможным. Если таких подмножеств несколько, то из них выбирается подмножество, которое содержит наименьшее количество элементов.
Основное подмножество может содержать, например, как все элементы последовательности чисел, так и ровно один элемент. Если множество чисел содержит только одно число х, то произведением элементов этого множества считается число х.
Напишите программу, которая будет обрабатывать результаты, приходящие из одного участка, находя количество элементов в основном множестве и значение минимального элемента в этом множестве. Перед текстом программы кратко опишите используемый Вами алгоритм решения задачи.
На вход программе в первой строке подаётся количество сигналов N. В каждой из последующих N строк записано одно неотрицательное вещественное число с точностью до одного знака после десятичной точки.
Пример входных данных:
6
123.4
0.2
200.2
0.0
6.7
218.0
Программа должна вывести в одной строке сначала количество элементов в основном множестве, а затем — его минимальный элемент.
Пример выходных данных для приведённого выше примера входных данных: 4 6.7.
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
3255 ege27 Неразобранное
Радиотелескоп пытается получать и анализировать сигналы, поступающие из различных участков космоса, при этом различные шумы переводятся в последовательность целых неотрицательных чисел. Чисел может быть очень много, но не может быть меньше трёх. Все числа различны. Хотя бы одно из чисел нечётно.
В данных, полученных из одного участка, выделяется основное подмножество чисел. Это непустое подмножество чисел (в него могут войти как одно число, так и все поступившие числа), такое, что их сумма нечётна и максимальна среди всех возможных непустых подмножеств с нечётной суммой. Если таких подмножеств несколько, то из них выбирается то подмножество, которое содержит наименьшее количество элементов.
Вам предлагается написать программу, которая будет обрабатывать результаты, приходящие из одного участка, находя основное подмножество. Перед текстом программы кратко опишите используемый Вами алгоритм решения задачи.
На вход программе в первой строке подаётся количество сигналов N. В каждой из последующих N строк записано одно целое неотрицательное число, не превышающее 10^9.
Пример входных данных:
3
123
0
2
Программа должна вывести в порядке возрастания номера сигналов, которые принадлежат основному подмножеству данного участка. Нумерация элементов последовательности ведётся с единицы.
Пример выходных данных для приведённого выше примера входных данных: 1 3.
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
3256 ege27 Неразобранное
На плоскости дан набор точек с целочисленными координатами. Необходимо найти четырёхугольник наибольшей площади с вершинами в этих точках, две вершины которого лежат на оси Oy, а две оставшиеся — по разные стороны от оси Oy.
Напишите эффективную, в том числе по памяти, программу, которая будет решать эту задачу. Перед текстом программы кратко опишите алгоритм решения задачи и укажите используемый язык программирования и его версию.
Описание входных данных
В первой строке вводится одно целое положительное число — количество точек N. Каждая из следующих N строк содержит два целых числа: сначала координата x, затем координата y очередной точки.
Описание выходных данных
Программа должна вывести одно число — максимальную площадь четырёхугольника, удовлетворяющего условиям задачи. Если такого четырёхугольника не существует, программа должна вывести ноль.
Пример входных данных:
6
0 0
2 0
0 2
3 −3
−5 −5
6 6
Пример выходных данных для приведённого выше примера входных данных:
11
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
3257 ege27 Неразобранное
На плоскости задано множество точек с целочисленными координатами. Необходимо найти максимально возможную площадь невырожденного (то есть имеющего ненулевую площадь) треугольника, одна вершина которого расположена в начале координат, а две другие лежат на биссектрисах углов, образованных осями координат, и при этом принадлежат заданному множеству. Если такого треугольника не существует, необходимо вывести соответствующее сообщение.
Напишите эффективную по времени и по используемой памяти программу для решения этой задачи.Перед текстом программы кратко опишите алгоритм решения и укажите язык программирования и его версию.
Входные данные
В первой строке задаётся N — количество точек в заданном множестве. Каждая из следующих строк содержит два целых числа — координаты очередной точки.
Пример входных данных:
3
6 6
-8 8
9 7
Выходные данные
Если искомый треугольник существует, программа должна напечатать одно число: максимально возможную площадь треугольника, удовлетворяющего условиям.
Если искомый треугольник не существует, программа должна напечатать сообщение: «Треугольник не существует».
Пример выходных данных для приведённого выше примера входных данных:
48.
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
3258 ege27 Неразобранное
На плоскости задано множество точек с целочисленными координатами. Необходимо найти минимально возможную площадь невырожденного (то есть имеющего ненулевую площадь) треугольника, одна вершина которого расположена в начале координат, а две другие лежат на биссектрисах углов, образованных осями координат, и при этом ринадлежат заданному множеству. Если такого треугольника не существует, необходимо вывести соответствующее сообщение.
Напишите эффективную по времени и по используемой памяти программу для решения этой задачи.
Входные данные
В первой строке задаётся N — количество точек в заданном множестве. Каждая из следующих строк содержит два целых числа — координаты очередной точки.
Пример входных данных:
3
6 6
-8 8
9 7
Выходные данные
Если искомый треугольник существует, программа должна напечатать одно число: минимально возможную площадь треугольника, удовлетворяющего условиям. Если искомый треугольник не существует, программа должна напечатать сообщение: «Треугольник не существует».
Пример выходных данных для приведённого выше примера входных данных:
48
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
4450 ege27 Неразобранное
Логистическая компания перевозит грузы, упакованные в коробки одинакового размера. При транспортировке коробки помещаются в контейнеры. В распоряжении компании имеется N контейнеров (1≤ N ≤ 105). Каждый контейнер заполнен некоторым (возможно нулевым) количеством коробок. Компания получила партию грузов, упакованных в M коробок (0 ≤ M ≤ 104). Требуется распределить новую партию грузов по контейнерам так, чтобы количество коробок в самом заполненном контейнере было наименьшим из возможных. Под самым заполненным понимается контейнер с таким количеством коробок, больше которого нет ни в каком другом контейнере. Предполагается, что в каждом контейнере имеется достаточно свободного места, чтобы вместить все коробки из новой партии. Напишите эффективную по времени и по памяти (или по одному из этих критериев) программу, определяющую наименьшее возможное количество коробок в наиболее заполненном контейнере.
Входные данные: в первой строке записаны числа N и M. В следующих N строках приведено по одному целому числу – количество коробок в каждом из N контейнеров до распределения новых грузов.
Выходные данные: в качестве ответа выведите одно число – минимально возможное количество коробок в наиболее заполненном контейнере.
Пример входных данных:
5 20
1
2
3
4
5
Пример выходных данных для приведённого выше примера входных данных:
7
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
4461 ege27 Неразобранное
Вам посчастливилось узнать стоимость акций некоторой компании в каждый из ближайших N дней. Какой наибольший доход Вы сможете получить, если за все дни возможны не более одной покупки и не более одной продажи акций. N не превышает 1000. Стоимость акции – натуральное число условных единиц (у.е.), меньшее, чем 10000.
Пример входных данных:
9
10
2
5
4
8
7
1
6
4
Пример выходных данных:
6
Пояснения: выгоднее всего купить акцию по 2 у.е. и затем продать по 8 у.е.
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
4462 ege27 Неразобранное
Вы узнали курс стоимости биткоина в каждый следующий из N дней (N < 3000) и теперь хотите обогатиться, но так как вы знаете, что покупка/продажа биткоинов сопряжены с риском – вы хотите минимизировать количество операций, т.е. вы решили осуществить только одну покупку и только одну продажу. Напишите программу, которая для входных данных определяет 3 числа: максимальную выручку, номер дня, в который нужно произвести покупку, номер дня, в который нужно произвести продажу. Если изменения курса стоимости не позволяют получить выручку, то выведите 0.
Пример входных данных:
9
10
2
5
4
9
7
1
6
4
Пример выходных данных:
7 2 5
Пояснения: максимальная выручка – 7 у.е., выгоднее всего купить биткоин на 2-й день по 2 у.е. и затем продать по 9 у.е. в 5-й день.
Обязательно укажите способ с вами: страница ВК, электронная почта, скайп
Сегодня посмотрим одно из самых интересных заданий из ЕГЭ по информатике 2023. Будем решать 24 задание. В этом задании нужно работать с файлами.
Все решения задач из задания 24 ЕГЭ по информатике 2023 будут приведены на языке программирования Python (Питон).
Поехали!
Задача (Самая простая)
Текстовый файл состоит не более чем из 106 символов A, B и C. Определите максимальное количество идущих подряд символов B. Для выполнения этого задания следует написать программу. Ниже приведён файл, который необходимо обработать с помощью данного алгоритма.
Решение:
Решим данную задачу на языке Python.
f=open('24_1.txt') s=f.read() k=0 kmax=0 for i in range(0, len(s)): if s[i]=='B': k=k+1 kmax=max(k, kmax) else: k=0 print(kmax)
С помощью команды open() подвязываемся к файлу. Чтобы не прописывать полный путь, файл должен лежать в той же папке, что и программа.
С помощью команды .read() зачитываем в переменную s всё содержимое файла.
Переменная k — это текущий счётчик символов «B». Задача переменной kmax сохранить максимальное значение k.
С помощью цикла for перебираем все символы из строки s. Переменная i пробегается по номерам всех симолов. Счёт символов начинается в строке с нуля. В начале берём нулевой символ, потом первый и т.д. Конструкция for i in range(0, len(s)) позволяет пройтись по всем символам строки до конца.
Если нам встретился нужный символ «B», то мы счётчик прибавляем на 1. Это значит, что мы подсчитываем текущую цепочку. Если будет стоять 3 символа «B» подряд, значит, счёт k покажет значение 3. Как только встретится дургой символ, то это означает, что цепочка прервалась и счётчик переводится в первоначальное положение 0.
При любом увеличении счётчика происходит анализ этого счётчика на максимальность. Функция max выбирает максимальное значение из старого значения kmax и нового показания счётчика k. Если счётчику k удалось победить kmax, то его значение будет считаться максимальным на данный момент времени.
В ответ идёт значение kmax. Это и есть длина максимальной цепочки. В этой задачке ответ получается 11.
Ответ: 11
Закрепим это простое задание из ЕГЭ по информатике 2023.
Задача (Простая, закрепление)
Текстовый файл состоит не более чем из 106 символов X, Y и Z. Определите максимальное количество идущих подряд символов, среди которых нет символа Z. Для выполнения этого задания следует написать программу.
Решение:
Решение похоже на предыдущее.
f=open('24_2.txt') s=f.read() k=0 kmax=0 for i in range(0, len(s)): if s[i]!='Z': k=k+1 kmax=max(k, kmax) else: k=0 print(kmax)
Если нет символов «Z», то подсчитываем, иначе сбрасываем.
Задача (Обращаемся к соседу)
Текстовый файл состоит не более чем из 106 символов X, Y и Z. Определите максимальное количество идущих подряд символов, расположенных в алфавитном порядке (возможно с повторением симолов). Для выполнения этого задания следует написать программу.
Решение:
f=open('24_2.txt') s=f.read() k=1 kmax=0 for i in range(0, len(s)-1): if s[i]<=s[i+1]: k=k+1 kmax=max(k, kmax) else: k=1 print(kmax)
В ответе получается 15. Символы можно сравнивать между собой с помощью знаков «>» или меньше «<» ( а так же «>=» или «<=»), причём это сравнение происходит в алфавитном порядке. Например, символ «B» будет больше, чем «A» и т.п. Теперь нам нужно уже обратится к соседу, уже важна связь между соседними символами. Раз мы обращаемся к следующему символу, то должны пробегать до len(s)-1, иначе куда мы будем обращаться, когда дойдём до последнего символа?
В самом начале цепочки мы анализируем два символа, а к счётчику прибавляем всего лишь 1. Чтобы это учесть, в начале счётчику (переменной k) присваиваем 1. Затем, по мере продвижения по цепочке, мы добавляем в наш анализ 1 новый символ, и к счётчику добавляется одна 1. Дальше уже таких проблем нет.
Раз мы присвоили в переменную k единицу, то и сбрасывать в ветке else мы тоже должны на 1. Эти значения обычно взаимосвязаны.
Если мы обращаемся к соседнему символу, как правило, счётчик и сброс устанавливаются в 1. Это не стопроцентная истина, но иметь ввиду это нужно.
Ответ: 15
Задача (Обращаемся к соседу, закрепление)
Текстовый файл состоит не более чем из 106 символов арабских цифр (0, 1, …,9). Определите максимальное количество идущих подряд цифр, среди которых каждые две соседние различны. Для выполнения этого задания следует написать программу.
Решение:
f=open('24_3.txt') s=f.read() k=1 kmax=0 for i in range(0, len(s)-1): if s[i]!=s[i+1]: k=k+1 kmax=max(k, kmax) else: k=1 print(kmax)
Если соседи различны, мы подсчитываем, иначе сбрасываем.
Ответ: 120
Задача (Обращаемся к соседу, ещё сложнее)
Текстовый файл состоит не более чем из 106 символов арабских цифр (0, 1, …,9). Определите максимальное количество идущих подряд нечётных цифр, расположенных в неубывающем порядке. Для выполнения этого задания следует написать программу.
Решение:
f=open('24_3.txt') s=f.read() k=1 kmax=0 for i in range(0, len(s)-1): if s[i]<=s[i+1] and s[i] in '13579' and s[i+1] in '13579' : k=k+1 kmax=max(k, kmax) else: k=1 print(kmax)
Здесь опять можно применить знаки сравнения прям к символам. Удобно проверить принадлежность к нечётным цифрам конструкцией s[i] in ‘13579’. Нечётной цифрой должна быть как текущая, так и следующая.
Ответ: 8
Решим ещё одну тренировочную задачу из ЕГЭ по информатике 2023.
Задача (Обращаемся к соседу, ещё сложнее, закрепление)
Текстовый файл состоит не более чем из 106 символов 1, 2, 3, A, B, С. Определите максимальное количество идущих подряд символов, среди которых никакие две буквы и никакие две цифры не стоят рядом. Для выполнения этого задания следует написать программу.
Решение:
f=open('24_4.txt') s=f.read() k=1 kmax=0 for i in range(0, len(s)-1): if (s[i] in '123' and s[i+1] in 'ABC') or (s[i] in 'ABC' and s[i+1] in '123') : k=k+1 kmax=max(k, kmax) else: k=1 print(kmax)
В этой задаче цифры и буквы должны чередоваться. Если у нас цифра, то следующая должны быть буква, или наоборот, если у нас буква, то следующая должна быть цифра. В этих двух случаях прибавляем к счётчику 1.
Ответ: 20
Задача (Исключаем строку из 2-х символов, демо 2022)
Текстовый файл состоит из символов P, Q, R и S.
Определите максимальное количество идущих подряд символов
в прилагаемом файле, среди которых нет идущих подряд символов P.
Для выполнения этого задания следует написать программу.
Решение:
Напишем решение на языке Python.
f=open('24_5.txt') s=f.read() k=1 kmax=0 for i in range(0, len(s)-1): if s[i]=='P' and s[i+1]=='P': k=1 else: k=k+1 kmax = max(k, kmax) print(kmax)
Подсчитываем символы, пока не встретилась комбинация двух P подряд. Как только встретилась данная комбинация, сбрасываем счётчик на 1. Здесь мы сбрасываем счётчик на значение 1, чтобы учесть один символ, которые находится в самой комбинации PP. И в начале мы тоже устанавливаем счётчик в значение 1 по этой же причине.
Мы проходим в цикле for до длины строки минус один. Значение 1 в счётчике при сбросе и в начале программы так же компенсирует и тот момент, что мы не подсчитываем последний символ!
При изменении счётчика, сохраняем максимальное значение в переменной mx
Если бы у нас была вместо PP другая комбинация, состоящая к примеру из 5 символов, то мы бы тогда в начале и при сбросе писали в счётчик значение 5-1=4.
Здесь тоже работает негласное правило, обращаемся к соседу, значит, счётчик устанавливаем в 1.
В этой задаче получается ответ 188.
Ответ: 188
Задача (Исключаем подстроку из 3-х символов)
Текстовый файл состоит из символов арабских цифр(0, 1, …,9).
Определите максимальное количество идущих подряд символов
в прилагаемом файле, среди которых нет трёх символов 0, стоящих рядом.
Для выполнения этого задания следует написать программу.
Решение:
Напишем решение на языке Python.
f=open('24_6.txt') s=f.read() k=2 kmax=0 for i in range(0, len(s)-2): if s[i]=='0' and s[i+1]=='0' and s[i+2]=='0': k=2 else: k=k+1 kmax = max(k, kmax) print(kmax)
Чтобы понять это решение, нужно посмотреть предыдущую задачу. Мы здесь обращаемся к двум соседям, значит, счётчик устанавливаем в 2. Так же проходим в цикле до len(s)-2. Нежелательная строка может состоять не только из одинаковых символов. Может быть строка «XYYZ», к примеру.
Ответ: 7684
Задача (Не более одного символа Z)
Текстовый файл состоит не более чем из 106 символов X, Y и Z. Определите максимальное количество идущих подряд символов, среди которых символ Z встречается не более одного раза.
Решение:
В нашей цепочке один раз можно встретиь символ Z, а два раза уже нельзя. Здесь мы применим функцию .split(). Как работает эта фнкция? Напишем тестовую программу.
s='sadqttqtreq' a=s.split('q') print(a)
Результат данной программы будет следующим:
[‘sad’, ‘tt’, ‘tre’, »]
Команда split «разрезает» строку по символу «q». В результате мы получаем массив с кусочками этой строки.
Решение нашей задачи.
f=open('24_7.txt') s=f.read() a=s.split('Z') k=0 kmax=0 for i in range(0, len(a)-1): k = len(a[i]) + 1 + len(a[i+1]) kmax = max(k, kmax) print(kmax)
Разрезаем нашу строку по символу «Z». Пробегаемся уже по массиву a. Цепочка-кандидат это текущий кусочек (a[i]), символ Z (1) и следующий кусочек (a[i+1]).
Каждого кандитата проверяем сразу на максимальность.
Ответ: 43
Задача (Не более двух символов Z)
Текстовый файл состоит не более чем из 106 символов X, Y и Z. Определите максимальное количество идущих подряд символов, среди которых символ Z встречается не более двух раз.
Решение:
Решение аналогично предыдущему.
f=open('24_7.txt') s=f.read() a=s.split('Z') k=0 kmax=0 for i in range(0, len(a)-2): k = len(a[i]) + 1 + len(a[i+1]) + 1 + len(a[i+2]) kmax = max(k, kmax) print(kmax)
Ответ: 50
Задача (Звенья)
Текстовый файл состоит не более чем из 106 символов X, Y и Z. Определите максимальную длину цепочки символов, состоящей из повторяющихся фрагментов XYZ. Цепочка должна начинаться с символа X и заканчиваться символом Z. Например, для строки ZZZXYZXYZXZZZ длина цепочки равна 6: XYZ+XYZ
Решение:
Если мы подсчитаем количество идущих подряд звеньев XYZ, то, можно сказать, дело сделано.
f=open('24_8.txt') s=f.read() s=s.replace('XYZ', '1') k=0 kmax=0 for i in range(0, len(s)): if s[i]=='1': k=k+1 kmax=max(k, kmax) else: k=0 print(kmax*3)
Мы с помощью команды replace заменили звенья на «1» (на символ, которого точно нет в файле). Теперь задача свелась к самой простой, которую мы рассматривали в начале статьи. Нужно просто подсчитать количество идущих поряд единиц.
В ответе нас просили указать количество символов, а не звеньев, поэтому переменную kmax умножаем на 3.
Ответ: 66
Задача (Звенья, закрепление)
Текстовый файл состоит не более, чем из 106 символов из набора A, B, С. Найдите максимальное количество идущих пар символов AC или AB. Искомая подстрока может включать только пары AB, только пары AC или содержать одновременно как пары AC, так и пары AB.
Решение:
f=open('24_9.txt') s=f.read() s=s.replace('AB', '1') s=s.replace('AC', '1') k=0 kmax=0 for i in range(0, len(s)): if s[i]=='1': k=k+1 kmax=max(k, kmax) else: k=0 print(kmax)
Здесь нам подходит звено, как и AB, так и AC. В ответе нужно указать количество пар, поэтому не на что умножать переменную kmax не нужно.
Ответ: 19
Задача (Звенья, основная волна 20.06.22)
Текстовый файл состоит из символов A, B, C, D и O. Определите максимальное количество идущих подряд пар символов вида согласная + гласная в прилагаемом файле. Для выполенения этого задания следует написать программу.
Решение:
f=open('24_10.txt') s=f.read() s=s.replace('BA', '1') s=s.replace('CA', '1') s=s.replace('DA', '1') s=s.replace('BO', '1') s=s.replace('CO', '1') s=s.replace('DO', '1') k=0 kmax=0 for i in range(0, len(s)): if s[i]=='1': k=k+1 kmax=max(k, kmax) else: k=0 print(kmax)
Ответ: 174
Задача (Звенья, последнее звено неполное)
Текстовый файл состоит не более чем из 106 символов X, Y и Z. Определите максимальную длину цепочки вида XYZXYZXYZ… (составленной из фрагментов XYZ, последний фрагмент может быть неполным). Для выполнения этого задания следует написать программу. Ниже приведён файл, который необходимо обработать с помощью данного алгоритма.
Решение:
Т.к. последнее звено может быть неполным, здесь удобно применить другой алгоритм.
Пусть в начале показания счётчика равно нулю. Если мы находим нужный нам символ в нужной последовательности, то прибавляем к счётчику 1. Если последовательность сбивается, то ставим счётчик в ноль.
На рисунке представлен данный алгоритм. В нижней строке указано показание счётчика в момент анализа символа.
На данном рисунке максимальная длина цепочки нужных символов равна 9.
Видим, что для символа X, когда он находится на своём месте, остаток от деления значения счётчика на 3 равен 0.
Для символа Y, когда данный символ находится на своём месте, остаток от деления значения счётчика на 3 равен 1.
Для символа Z, когда данный символ находится на своём месте, остаток от деления значения счётчика на 3 равен 2.
Мы смотрим остаток от деления на 3, потому что у нас длина звена равна трём (XYZ).
Таким образом, мы и наш анализ очередного символа привяжем к показанию счётчика:
f=open('24_11.txt') s=f.read() k=0 kmax=0 for i in range(0, len(s)): if (s[i]=='X' and k%3==0) or (s[i]=='Y' and k%3==1) or (s[i]=='Z' and k%3==2): k=k+1 kmax = max(k, kmax) else: if s[i]=='X': k=1 else: k=0 print(kmax)
Важный момент: Если нужную цепочку прервал символ X, то нужно счётчик сразу выставить в 1, иначе может произойти такая ошибка:
Т.е. первые три нужных символа в цепочке алгоритм не засчитал.
Поэтому мы не просто сбрасываем счётчик в ноль, а прописываем условие:
if s[i]=='X': k=1 else: k=0
Ответ: 13
Задача (Полезный приём)
Текстовый файл 24-157.txt состоит не более чем из 106 символов и содержит только заглавные буквы латинского алфавита (ABC…Z). Определите символ, который чаще всего встречается в файле между двумя одинаковыми символами. Например, в тексте CCBAABABCBC есть комбинации ABA, BAB, BCB и CBC. Чаще всего – 2 раза – между двумя одинаковыми символами стоит B, в ответе для этого случая надо написать B2 (без пробелов и других разделителей). Если таких символов несколько, выведите тот, который стоит раньше в алфавите.
Решение:
f=open('24-157.txt') s=f.read() a=[0]*150 for i in range(0, len(s)-2): if s[i]==s[i+2]: a[ord(s[i+1])] = a[ord(s[i+1])] + 1 ch='' mx=0 for i in range(0, 150): if a[i]>mx: mx=a[i] ch=chr(i) print(ch, mx)
Здесь мы заводим массив a. Индексы этого массива — это коды ANSI всех букв латинского алфавита (ABC…Z). Ведь, как мы знаем, каждая буква кодируется определённым числом (кодом ANSI). Вот часть этой таблицы.
Например, буква A кодируется кодом 65. Коды увеличиваются в алфавитном порядке на 1. Буква Z кодируется числом 90. Таким образом, 150 ячеек точно хватит для нашего алфавита. Здесь берём с запасом, потому что на экзамене можно точно не вспомнить коды, но достаточно запомнить, что 150 ячеек вполне хватит для заглавных и строчных букв латинского алфавита.
Значит, ячейка 65 отвечает за букву A, ячейка 66 отвечает за букву B и т.д. Если мы встретили букву между двумя одинаковыми буквами, то её ячейка увеличивается на 1.
Функция ord() превращает символ в код ANSI.
После того, как мы прошли всю строку и собрали информацию о наших буквах, нужно пройти массив a и найти наибольшее число в нём.
Здесь мы уже не пользуемся функцией max, а используем условие, потому что нужно кроме максимального числа тянуть ещё один параметр — сам код (переменную i). Функция chr() превращает код ANSI обратно в символ.
Ответ: W1608
Задача (Строки различной длины)
Текстовый файл 24-164.txt состоит не более чем из 106 символов и содержит только заглавные буквы латинского алфавита (ABC…Z). Текст разбит на строки различной длины. Необходимо найти строку, содержащую самую длинную цепочку стоящих подряд одинаковых букв. Если таких строк несколько, надо взять ту, которая в файле встретилась раньше. Определите, какая буква встречается в этой строке чаще всего. Если таких букв несколько, надо взять ту, которая стоит раньше в алфавите. Запишите в ответе эту букву, а затем – сколько раз она встречается во всем файле.
Пример. Исходный файл:
ZZQABA
ZALAAC
QRAQUT
В этом примере в первой и второй строках наибольшая длина цепочек одинаковых буквы равна 2 (ZZ в первой строке, AA во второй), в третьей – 1. Берём первую строку, т.к. она находится в файле раньше. В этой строке чаще других встречаются буквы Z и A (по 2 раза), выбираем букву A, т. к. она стоит раньше в алфавите. В ответе для этого примера надо записать A6, так как во всех строках файла буква A встречается 6 раз.
Решение:
Для считывания построчно файла, будем использовать конструкцию, как в задании 17. В начале найдём строчку, содержащую самую длинную цепочку стоящих подряд одинаковых букв.
f=open('24-164.txt') kmax=0 count=0 n=-1 for s in f.readlines(): count=count+1 k=1 for i in range(0, len(s)-1): if s[i]==s[i+1]: k=k+1 if k>kmax: kmax=k n=count else: k=1 print(n)
Получается строка под номером 162. Переменная count считает строки по порядку. В переменную n сохраняем номер нужной строки. Опять пользуемся условием, а не функцией max, т.к. здесь нужно и обновлять kmax, и сохранять значение n. У нас условие строгое k>kmax, значит, сохранится первая строка с наибольшей искомой цепочкой.
f=open('24-164.txt') count=0 a=[0]*150 for s in f.readlines(): count=count+1 k=1 if count==162: for i in range(0, len(s)): a[ord(s[i])] = a[ord(s[i])] + 1 ch='' mx=0 for i in range(0, 150): if a[i] > mx: mx=a[i] ch=chr(i) print(ch)
Теперь нас интересует только строка под номером 162. Далее используем приём из прошлой задачи. Заводим массив a из 150 ячеек и используем таблицу кодов ANSI. Так определяем какая буква встретилась чаще всего в строке под номером 162. Получается буква K.
f=open('24-164.txt') s=f.read() print(s.count('K'))
Осталось найти количестов букв K во всём файле. Для этого используем функцию .count()
Ответ: K36582
В задаче 15 «Задача (Полезный приём)», созданы переменные k и kmax — напрасно, они не используются.
Убрал, по привычке написал.
На уроке рассмотрен материал для подготовки к ЕГЭ по информатике, разбор 17 задания. Объясняется тема о программной обработке числовой информации.
Содержание:
- ЕГЭ по информатике 17 задания объяснение
- Выполнение 17 задания ЕГЭ
- Работа с цифрами числа в n-й системе счисления
17-е задание: «Программная обработка целочисленной информации»
Уровень сложности
— повышенный,
Требуется использование специализированного программного обеспечения
— да,
Максимальный балл
— 1,
Примерное время выполнения
— 15 минут.
Проверяемые элементы содержания: Умение создавать собственные программы (20–40 строк) для обработки целочисленной информации
Выполнение 17 задания ЕГЭ
Плейлист видеоразборов задания на YouTube:
Задание демонстрационного варианта 2022 года ФИПИ
17_1: Демоверсия варианта ЕГЭ по информатике 2021, ФИПИ:
Рассматривается множество целых чисел, принадлежащих числовому отрезку [1016; 7937], которые делятся на 3 и не делятся на 7, 17, 19, 27. Найдите количество таких чисел и максимальное из них.
В ответе запишите два целых числа: сначала количество, затем максимальное число.
! Для выполнения этого задания можно написать программу или воспользоваться редактором электронных таблиц
Типовые задания для тренировки
Ответ: 1568 | 7935
Видео
✍ Решение:
-
✎ Решение с использованием программирования:
- Первое значение диапазона введем в ячейку A1:
- Используем прогрессию для заполнения всего диапазона числами. Для это выберите вкладку Главная и щелкните по кнопке Прогрессия:
- Столбец B будем использовать для поиска чисел, которые делятся на 3. Для этого в ячейку B1 введите формулу с рисунка:
- Двойным щелчком по маркеру заполнения скопируйте формулу на весь столбец:
- Столбец С будем использовать для поиска чисел, которые НЕ делятся на 7. Для этого в ячейку С1 введите формулу с рисунка:
- Заполните весь столбец двойным щелчком по маркеру заполнения.
- Cтолбцы D, E, F таким же образом будем использовать для поиска чисел столбца А, которые не делятся на 17, 19 и 27
- Для поиска всех истинных значений используем столбец G. В ячейку G1 введите функцию
ЕСЛИ
: если все значения ячеек в столбцах B-F в этой строке истинны, выводим число из А1, иначе – пустую строку: - Ячейку H1 будем использовать для подсчета таких чисел, которые удовлетворяют всем условиям, т.е. для подсчета непустых ячеек столбца G:
- Ячейку H2 будем использовать для подсчета такого наибольшего числа:
Паскаль:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
var i, k, max: integer; begin k := 0; max := 0; for i := 1016 to 7937 do begin if (i mod 3 = 0) and (i mod 7 > 0) and (i mod 17 > 0) and (i mod 19 > 0) and (i mod 27 > 0) then begin max:= i; inc(k); end; end; writeln(k, ' ', max) end. |
PascalABC.NET:
1 2 3 4 |
begin var s := Range( 1017, 7937, 3).Where( i -> not i.DivsAny(7, 17, 19, 27) ); print( s.Count, s.Max ); end. |
Python:
1 2 3 |
a = [n for n in range(1016,7937+1) if (n%3==0 and n%7!=0 and n%17!=0 and n%19!=0 and n%27!=0)] print(len(a),max(a)) |
Список a формируем, используя генератор списка: то есть в список попадут только не числа из диапазона [1016,7937], которые удовлетворяют всем перечисленным условиям: n%3==0
(число делится на 3), n%7!=0
(число не делится на 7) и т.п.
C++:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
#include <iostream> int main() { int count = 0; int maxGood = 0; for(int n=1016; n<=7937; n++) if( (n % 3 == 0) and (n % 7 != 0) and (n % 17 != 0) and (n % 19 != 0) and (n % 27 != 0) ) { maxGood = n; count += 1; } std::cout << count << " " << maxGood; } |
✎ Решение с помощью Excel:
Заполните весь столбце, используя маркер автозаполнения.
Видеоразбор 17 задания ЕГЭ:
📹 YouTube здесь
Видеорешение на RuTube здесь
Работа с цифрами числа в n-й системе счисления
17_2:
Рассматривается множество целых чисел, принадлежащих числовому отрезку [3712; 8432], которые удовлетворяют следующим условиям:
− запись в двоичной и четверичной системах счисления заканчивается одинаковой цифрой;
− кратны 13, 14 или 15.
Найдите количество таких чисел и минимальное из них.
! Для выполнения этого задания можно написать программу или воспользоваться редактором электронных таблиц
Типовые задания для тренировки
Ответ: 471 3720
✍ Решение:
✎ Решение с использованием программирования:
Паскаль:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
var var k, n, min:integer; begin k:=0; min:=8433; for n:= 3712 to 8432 do if (n mod 2 = n mod 4) and ((n mod 13=0) or (n mod 14=0) or (n mod 15=0)) then begin if min>n then min:=n; k:=k+1; end; Writeln (k,' ',min); End. |
PascalABC.NET:
1 2 3 4 5 6 7 |
begin var s := Range( 3712, 8432) .Where(i -> ((i mod 13=0) or (i mod 14=0) or (i mod 15=0)) and (i mod 2 = i mod 4)); // или: .Where( i -> (i.DivsAny(13,14,15)) and (i mod 2 = i mod 4)); s.Count.Print; s.Min.Print; end. |
Python:
1 2 |
L = [x for x in range(3712, 8432+1) if (x % 13 == 0 or x % 14 == 0 or x % 15 == 0) and ( x % 2 == x % 4)] print(len(L),' ',L[0]) |
Формируем список (массив) L
только из подходящих элементов, то есть удовлетворяющих всем, перечисленным в задании, условиям. Затем выводим длину списка (len(L)
), т.е. найденное количество таких чисел, и нулевой элемент, он же минимальный, поскольку числа упорядочены по возрастанию (L[0]
)
C++:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
#include <iostream> int main() { int count = 0; int min = 8433; for (int n = 3712; n <= 8432; n++) if (((n % 2 == n % 4) && ((n % 13 == 0) || (n % 14 == 0) || (n % 15 == 0))) ) { if (n < min) min = n; count += 1; } std::cout << count << " " << min; } |
✎ Решение с помощью Excel:
ЕСЛИ
: если все значения ячеек в столбцах B, C в этой строке истинны, выводим число из А1, иначе – пустую строку:D
визуально и найдите первое значение):17_3:
Рассматривается множество целых чисел, принадлежащих числовому отрезку [1000; 9999], запись которых в пятеричной системе имеет не менее 6 цифр и заканчивается на 21 или 23.
Найдите количество таких чисел и минимальное из них.
! Для выполнения этого задания можно написать программу или воспользоваться редактором электронных таблиц
Ответ: 550 3136
✍ Решение:
✎ Решение с использованием программирования:
PascalABC.NET:
1 2 3 4 5 6 |
### uses school; var s := Range(1000, 9999) .Where(i -> (i.ToString.ToBase(5).Length=6) and (i div 5 mod 5 = 2) and((i mod 5 = 1) or (i mod 5 = 3))); s.Count.Print; s.Min.Print; |
Python:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
numb='' result=list() for i in range(1000, 9999+1): if ((i // 5) % 5 ==2) and (( i % 5 == 1) or ( i % 5 == 3)): while i>=5: #Цикл перевода числа из 10-й в 5-ю сс s=i%5 numb=str(s)+numb i=i//5 if i<5: numb=str(i)+numb n=len(numb) if n>5: result.append(numb) # список из чисел в 5-й с.с numb="" kolvo=len(result) minNumb=int(min(result),5) # перевод в десятичную с.с и поиск min print(kolvo,minNumb) |
ЕГЭ информатика 24 задание разбор, теория, как решать.
Создание программы для обработки символьной информации, (В) — 1 балл
Е24.34 Определите максимальное количество идущих подряд пар символов вида согласная + гласная
Текстовый файл состоит из символов A, C, D, F и O. Определите максимальное количество идущих подряд пар символов вида согласная + гласная в прилагаемом файле. Для выполнения этого задания следует написать программу. Ответ: TXT ZIP Демонстрационный вариант ЕГЭ 2023 г. – задание №24
Читать далее
Е24.33 Определите количество групп из идущих подряд не менее 10 символов
Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z). Определите количество групп из идущих подряд не менее 10 символов, которые начинаются и заканчиваются буквой D, не содержат других букв D (кроме первой и последней) и содержат не меньше двух букв C. Ответ: TXT ZIP СтатГрад Вариант ИН2110402 30.03.2022 – задание №24
Читать далее
Е24.32 Определите максимальное количество идущих подряд пар символов AB или CB в прилагаемом файле
Текстовый файл состоит из символов A, B и C. Определите максимальное количество идущих подряд пар символов AB или CB в прилагаемом файле. Искомая подпоследовательность должна состоять только из пар AB, или только из пар CB, или только из пар AB и CB в произвольном порядке следования этих пар. Для выполнения этого задания следует написать программу. …
Читать далее
Е24.31 Определите максимальное количество идущих подряд пар символов АВ или АС
Текстовый файл состоит из символов А, В и С. Определите максимальное количество идущих подряд пар символов АВ или АС в прилагаемом файле. Для выполнения этого задания следует написать программу. TXT ZIP Апробация ЕГЭ по информатике 19 февраля 2022 – задание №24 Тренировочный экзамен по информатике и ИКТ (КЕГЭ) в компьютерной форме
Читать далее
Е24.30 не содержат других букв E (кроме первой и последней) и букв F
Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z). Определите количество групп из идущих подряд не менее 12 символов, которые начинаются и заканчиваются буквой E и не содержат других букв E (кроме первой и последней) и букв F. TXT СтатГрад Вариант ИН2110301 08.02.2022 – задание №24
Читать далее
Е24.29 максимальное количество идущих подряд символов, среди которых не более двух букв D
Текстовый файл содержит только заглавные буквы латинского алфавита(ABC…Z). Определите максимальное количество идущих подряд символов, среди которых не более двух букв D. Ответ: TXT «Некрыловские варианты» от Евгения Джобса — Вариант 5
Читать далее
Е24.28 среди которых нет ни одной буквы B и при этом не менее трёх букв A.
Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z). Определите максимальное количество идущих подряд символов, среди которых нет ни одной буквы B и при этом не менее трёх букв A. Ответ: TXT informatikaexpert.ru
Читать далее
Е24.27 Необходимо найти строку, содержащую наименьшее количество букв N
Текстовый файл содержит строки различной длины. Общий объём файла не превышает 1 Мбайт. Строки содержат только заглавные буквы латинского алфавита (ABC…Z). Необходимо найти строку, содержащую наименьшее количество букв N (если таких строк несколько, надо взять ту, которая находится в файле раньше), и определить, какая буква встречается в этой строке чаще всего. Если таких букв несколько, …
Читать далее
Е24.26 максимальное расстояние между одинаковыми буквами в одной строке
Текстовый файл содержит строки различной длины. Общий объём файла не превышает 1 Мбайт. Строки содержат только заглавные буквы латинского алфавита (ABC…Z). В строках, содержащих менее 25 букв A, нужно определить и вывести максимальное расстояние между одинаковыми буквами в одной строке. Пример. Исходный файл: GIGA GABLAB NOTEBOOK AGAAA В этом примере во всех строках меньше 25 …
Читать далее
Е24.25 среди которых не более одной буквы A.
Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z). Определите максимальное количество идущих подряд символов, среди которых не более одной буквы A. Ответ: 24.TXT СтатГрад Вариант ИН2110101 27.10.2021– задание №24
Читать далее
В решение заданий демо-версии используется язык программирования Python.
Задание 1. Анализ информационных моделей На рисунке схема дорог Н-ского района изображена в виде графа, в таблице содержатся сведения о протяжённости каждой из этих дорог (в километрах). Так как таблицу и схему рисовали независимо друг от друга, то нумерация населённых пунктов в таблице никак не связана с буквенными обозначениями на графе. Определите, какова сумма протяжённостей дорог из пункта D в пункт В и из пункта F в пункт A. В ответе запишите целое число. |
На графе расставим веса вершин. Далее 2 и 7 вершины ведут нас к 5, значит А это 5, оставшаяся «тройка» это вершина Е под номером 6. Сумма дорог BD + AF = 53 + 5 = 58
Ответ: 58 |
||||||||||||||||||
Задание 2. Построение таблиц истинности логических выражений Миша заполнял таблицу истинности логической функции F F= ¬(y → x) v (z→ w) v ¬z , но успел заполнить лишь фрагмент из трёх различных её строк, даже не указав, какому столбцу таблицы соответствует каждая из переменных w, x, y, z. Определите, какому столбцу таблицы соответствует каждая из переменных w, x, y, z. В ответе напишите буквы w, x, y, z в том порядке, в котором идут соответствующие им столбцы (сначала буква, соответствующая первому столбцу; затем буква, соответствующая второму столбцу, и т.д.). Буквы в ответе пишите подряд, никаких разделителей между буквами ставить не нужно. Пример. Функция задана выражением ¬x v y, зависящим от двух переменных, а фрагмент таблицы имеет следующий вид. В этом случае первому столбцу соответствует переменная y, а второму столбцу – переменная x. В ответе следует написать yx. |
¬(y → x) v (z→ w) v ¬z=0. Следовательно y → x =1, z→ w=0, z=1. Значит третий столбец z. z→ w=0, значит w=0, и это может быть только 4 столбец. y → x =1, следовательно из второй строки мы видим, что первый столбец может быть только у, а второй х.
Решение на Python
Ответ: YXZW |
||||||||||||||||||
Задание 3. Базы данных. Файловая система В прикрепленном файле приведён фрагмент базы данных «Продукты» о поставках товаров в магазины районов города. База данных состоит из трёх таблиц. Таблица «Движение товаров» содержит записи о поставках товаров в На рисунке приведена схема указанной базы данных. Используя информацию из приведённой базы данных, определите общий вес |
На третьем листе книги применим фильтр по району и получим ID четырех магазинов. На втором листе применим фильтр по товару и получим ID товара. На первом листе применим фильтры по ID товара и ID магазинов и типу операции. Все даты попадают в интервал от 1 до 8 июня. Получим: Поступило в продажу 710 упаковок. В упаковке 0,5 кг. Получим 355 кг. Ответ: 355 |
||||||||||||||||||
Задание 4. Кодирование и декодирование информации По каналу связи передаются сообщения, содержащие только буквы из набора: А, З, К, Н, Ч. Для передачи используется двоичный код,удовлетворяющий прямому условию Фано, согласно которому никакое кодовое слово не является началом другого кодового слова. Это условие обеспечивает возможность однозначной расшифровки закодированных сообщений. Кодовые слова для некоторых букв известны: Н – 1111, З – 110. Для трёх оставшихся букв А, К и Ч кодовые слова неизвестны. Какое количество двоичных знаков потребуется для кодирования слова КАЗАЧКА, если известно, что оно закодировано минимально возможным количеством двоичных знаков? |
Ответ: 14 |
||||||||||||||||||
Задание 5. Анализ и построение алгоритмов для исполнителей На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему 1. Строится двоичная запись числа N. Полученная таким образом запись является двоичной записью искомого числа R.Например, для исходного числа 610 = 1102 результатом является число |
Минимальное R, большее 40, это 41.
ИЛИ программное решение
Ответ: 16
|
||||||||||||||||||
Задание 6. Определение результатов работы простейших алгоритмов Исполнитель Черепаха действует на плоскости с декартовой системой координат. Черепахе был дан для исполнения следующий алгоритм: Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует 5 команд: Поднять хвост, означающая переход к перемещению без рисования; Опустить хвост, означающая переход в режим рисования; Вперёд n (где n– целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова; Назад n (где n– целое число), вызывающая передвижение в противоположном голове направлении; Направо m (где m – целое число), вызывающая изменение направления движения на m градусов по часовой стрелке, Налево m (где m– целое число), вызывающая изменение направления движения на m градусов против часовой стрелки. Запись Повтори k [Команда1 Команда2 … КомандаS] означает, что последовательность из S команд повторится k раз. Черепахе был дан для исполнения следующий алгоритм: Определите, сколько точек с целочисленными координатами будут находиться внутри пересечения фигур, ограниченных заданными алгоритмом линиями, включая точки на границах этого пересечения. |
Сначала нужно построить фигуру.
Далее мы находим уравнения прямых, которыми ограничена фигура и решаем ИЛИ Ответ: 1 задание — 38, 2 задание — 128 |
||||||||||||||||||
Задание 7. Кодирование и декодирование информации. Передача информации Музыкальный фрагмент был записан в формате моно, оцифрован и сохранён в виде файла без использования сжатия данных. Размер полученного файла – 28 Мбайт. Затем тот же музыкальный фрагмент был записан повторно в формате стерео (двухканальная запись) и оцифрован с разрешением в 3,5 раза выше и частотой дискретизации в 2 раза меньше, чем в первый раз. Сжатие данных не производилось. Укажите размер полученного при повторной записи файла в Мбайт. В ответе запишите только целое число, единицу измерения писать не нужно. |
I = ν ⋅ i ⋅ t ⋅ k, где ν — частота дискретизации (Гц), i — разрешение (бит), t — время (с), k — количество дорожек (1 -моно, 2- стерео, 4 — квадро) I1 = ν ⋅ i ⋅ t I2 = 3,5 · 28 = 98 Ответ: 98 |
||||||||||||||||||
Задание 8. Перебор слов и системы счисления Определите количество пятизначных чисел, записанных в восьмеричной системе счисления, в записи которых только одна цифра 6, при этом никакая нечётная цифра не стоит рядом с цифрой 6. |
* * * * * — пятизначное число. 6 * * * * — вариантов 3 ⋅ 7 ⋅ 7 ⋅ 7 = 1029 Ответ: 2961 |
||||||||||||||||||
Задание 9. Работа с таблицами Файл с данными Откройте файл электронной таблицы, содержащей в каждой строке шесть натуральных чисел. Определите количество строк таблицы, содержащих числа, для которых выполнены оба условия: |
Для решения этой задачи понадобится 10 вспомогательных столбцов. Сначала мы посчитаем количество повторяющихся чисел в каждой строке. Затем сумму каждой строки диапазона H:M. Если повторений нет, то эта сумма равна 6. Далее мы найдем среднее арифметическое неповторяющихся значений. Затем найдем сумму повторяющихся значений. Затем проверим соблюдение двух условий. И подсчитаем количество строк, в которых соблюдаются оба условия. Ответ: 2241 |
||||||||||||||||||
Задание 10. Поиск символов в текстовом редакторе Файл с данными Текст произведения Льва Николаевича Толстого «Севастопольские рассказы» представлен в виде файлов различных форматов. Откройте один из файлов и определите, сколько раз встречается в тексте отдельное слово «теперь» со строчной буквы. Другие формы этого слова учитывать не следует. |
В текстовом редакторе используем инструмент найти (по умолчанию он не учитывает регистр, в расширенном поиске есть кнопка больше, где можно проверить настройки). Ищем слово целиком. Ставим галочку учитывать регистр. Слово теперь со строчной буквы встречается 45 раз. Ответ: 45 |
||||||||||||||||||
Задание 11. Вычисление количества информации При регистрации в компьютерной системе каждому объекту присваивается идентификатор, состоящий из 250 символов и содержащий только десятичные цифры и символы из 1650-символьного специального алфавита. В базе данных для хранения каждого идентификатора отведено одинаковое и минимально возможное целое число байт. При этом используется посимвольное кодирование идентификаторов, все символы кодируются одинаковым и минимально возможным количеством бит. Определите объём памяти (в Кбайт), необходимый для хранения 65 536 идентификаторов. В ответе запишите только целое число – количество Кбайт. |
I = K · i, N = 2 i ID : ****….**** – всего 250 различных символов в наборе N = 10 + 1650 = 1660, 1024<1660<2048, 2048 = 211, значит для кодирования одного символа нужно 11 бит. IID = 250 · 11 = 2750 бит = 343,75 байт ≈ 344 байт – отводится на идентификатор целое число байт I65536 = 65536 ⋅ 344 = 22544384 байта = 22016 Кбайт– всего Ответ: 22016 |
||||||||||||||||||
Задание 12. Выполнение алгоритмов для исполнителей Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр. А) заменить (v, w). Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Б) нашлось (v). Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется. Цикл выполняется, пока условие истинно. В конструкции ЕСЛИ условие выполняется команда 1 (если условие истинно). В конструкции ЕСЛИ условие выполняется команда 1 (если условие истинно) или команда 2 (если условие ложно). Дана программа для Редактора: |
def pr(n): #функция определяет простое ли число for n in range(100): #перебираем n if ‘>2’ in s: if ‘>0’ in s: sum_s = 0 Ответ: 5 |
||||||||||||||||||
Задание 13. Поиск путей в графе На рисунке представлена схема дорог, связывающих города А, Б, В, Г, Д, Е, Ж, И, К, Л. По каждой дороге можно двигаться только в одном направлении, указанном стрелкой. |
Начнем подсчет из вершины Е налево через В и возвращаемся в Е через Л.
Ответ: 21 |
||||||||||||||||||
Задание 14. Кодирование чисел. Системы счисления Операнды арифметического выражения записаны в системе счисления с основанием 15. |
for x in range(15): if n%14 == 0: Ответ: 8767 |
||||||||||||||||||
Задание 15. Преобразование логических выражений На числовой прямой даны два отрезка: D = [17; 58] и C = [29; 80]. Укажите наименьшую возможную длину такого отрезка A, для которого логическое выражение |
def deli(n,m): for A in range(1,1000): if Ok: Ответ: 94 |
||||||||||||||||||
Задание 16. Рекурсивные алгоритмы Алгоритм вычисления значения функции F(n), где n – натуральное число, |
F(2023) = 2023! = 2023 ⋅ 2022! F(2023)/F(2020) = (2023 ⋅ 2022 ⋅ 2021 ⋅ 2020!)/2020! = 2023 ⋅ 2022 ⋅ 2021 = = 8266912626 Ответ: 8266912626 |
||||||||||||||||||
Задание 17. Проверка на делимость Файл с данными В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от –10 000 до 10 000 включительно. Определите количество пар последовательности, в которых |
f= open(’17.txt’) k = 0 for i in p: for i in range(1,len(p)): #Осторожно, скобки! print(k,PP) Ответ: 180 190360573 |
||||||||||||||||||
Задание 18. Робот-сборщик монет Файл с данными Квадрат разлинован на N×N клеток (1 < N < 17). Исполнитель Робот может перемещаться по клеткам, выполняя за одно перемещение одну из двух команд: вправо или вниз. По команде вправо Робот перемещается в соседнюю правую клетку, по команде вниз — в соседнюю нижнюю. При попытке выхода за границу квадрата Робот разрушается. Перед каждым запуском Робота в каждой клетке квадрата лежит монета достоинством от 1 до 100. Посетив клетку, Робот забирает монету с собой; это также относится к начальной и конечной клетке маршрута Робота. Откройте файл. Определите максимальную и минимальную денежную сумму, которую может собрать Робот, пройдя из левой верхней клетки в правую нижнюю. В ответ запишите два числа друг за другом без разделительных знаков — сначала максимальную сумму, затем минимальную. Исходные данные представляют собой электронную таблицу размером N×N, каждая ячейка которой соответствует клетке квадрата.Пример входных данных:
Для указанных входных данных ответом должна быть пара чисел 41 и 22. |
Сначала скопируем таблицу рядом, начиная со столбца АА, можно уменьшить ширину столбца до 4-5. Ячейка АА1=А1. Ячейка АВ1 = АА1+В1, протягиваем ее до АТ1. Ячейка АА2 = АА1 + А2, протягиваем ее до АА20. Далее ячейка АВ2 = В2+МАКС(АА2;АВ1), протягиваем ее на весь оставшийся диапазон, копируем только значения, не трогая стен.
Справа от стен формулы повторяют крайний левый рял, столбец АА, снизу от стен формулы копируют верхнюю строку 1. Далее делаем замену всех формул МАКС на МИН. Ответ: 1099 1026 |
||||||||||||||||||
Задание 19. Выигрышная стратегия. Задание 1 Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в кучу один камень или увеличить количество камней в куче в два раза. Для того чтобы делать ходы, у каждого игрока есть неограниченное количество камней. Игра завершается в тот момент, когда количество камней в куче становится не менее 129. Победителем считается игрок, сделавший последний ход, т.е. первым получивший кучу из 129 или больше камней. В начальный момент в куче было S камней, 1 ≤ S ≤ 128. Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Укажите такое значение S, при котором Петя не может выиграть за один ход, но при любом ходе Пети Ваня может выиграть своим первым ходом. |
При значениях S < 64 у Пети есть возможность сделать такой ход, что Ваня не сможет выиграть своим первым ходом. При значении S = 64 Петя своим первым ходом может получить 65 или 128 камней в куче. Во всех случаях Ваня увеличивает количество камней в куче в два раза и выигрывает своим первым ходом. Ответ: 64 |
||||||||||||||||||
Задание 20. Выигрышная стратегия. Задание 2 Для игры, описанной в задании 19, найдите два таких значения S, при которых у Пети есть выигрышная стратегия, причем одновременно выполняются два условия:
Найденные значения запишите в порядке возрастания. |
Значение S должно быть меньше 64, поскольку иначе Ваня сможет выиграть своим первым ходом.
Ответ: 32 63 |
||||||||||||||||||
Задание 21. Выигрышная стратегия. Задание 3 Для игры, описанной в задании 19, найдите значение S, при котором одновременно выполняются два условия:
Если найдено несколько значений S, в ответе запишите минимальное из них. |
Ответ: 62 |
||||||||||||||||||
Задание 22. Многопроцессорные системы В файле содержится информация о совокупности N вычислительных процессов, которые могут выполняться параллельно или последовательно. Будем говорить, что процесс B зависит от процесса A, если для выполнения процесса B необходимы результаты выполнения процесса A. В этом случае процессы могут выполняться только последовательно. Определите минимальное время, через которое завершится выполнение всей совокупности процессов, при условии, что все независимые друг от друга процессы могут выполняться параллельно. |
В независимых процессах время считается от 0,
Ответ: 17 |
||||||||||||||||||
Задание 23. Анализ программы с циклами и условными операторами Исполнитель преобразует число на экране. |
def f(x, y): print (f(1,10) * f(10, 35)) Ответ: 98 |
||||||||||||||||||
Задание 24. Анализ программы с циклами и условными операторами Файл с данными Текстовый файл состоит из символов A, C, D, F и O. Определите максимальное количество идущих подряд пар символов вида согласная + гласная |
f=open(’24.txt’) PP = [‘CA’, ‘CO’, ‘DA’, ‘DO’, ‘FA’, ‘FO’] for i in range(1, len(p), 2): Ответ: 95 |
||||||||||||||||||
Задание 25. Анализ программы с циклами и условными операторами Назовём маской числа последовательность цифр, в которой также могут Например, маске 123*4?5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 1010, найдите все числа, соответствующие маске 1?2139*4, делящиеся на 2023 без остатка. |
Самый простой способ использовать библиотеку fnmatch. или так полным перебором: y = {»,’0′,’00’,’000′} for x in range (1000): Ответ: 162139404 80148 |
||||||||||||||||||
Задание 26. Анализ программы с циклами и условными операторами В магазине для упаковки подарков есть N кубических коробок. Самой интересной считается упаковка подарка по принципу матрёшки – подарок упаковывается в одну из коробок, та в свою очередь в другую коробку и т.д. |
|||||||||||||||||||
Задание 27. Анализ программы с циклами и условными операторами У медицинской компании есть N пунктов приёма биоматериалов на анализ. Все пункты расположены вдоль автомагистрали и имеют номера, соответствующие расстоянию от нулевой отметки до конкретного пункта. Известно количество пробирок, которое ежедневно принимают в каждом из пунктов. Пробирки перевозят в специальных транспортировочных контейнерах вместимостью не более 36 штук. Каждый транспортировочный контейнер упаковывается в пункте приёма и вскрывается только в лаборатории. Файл А Дано два входных файла (файл A и файл B), каждый из которых в первой строке содержит число N (1 ≤ N ≤ 10 000 000) – количество пунктов приёма биоматериалов. В каждой из следующих N строк находится два числа: номер пункта и количество пробирок в этом пункте (все числа натуральные, количество пробирок в каждом пункте не превышает 1000). Пункты перечислены в порядке их расположения вдоль дороги, начиная от нулевой отметки. Типовой пример имеет иллюстративный характер. Для выполнения задания используйте данные из прилагаемых файлов. |
Ответ: 51063 5634689219329 |
Разбор 18 задания ЕГЭ 2017 года по информатике из проекта демоверсии. Это задание повышенного уровня сложности. Примерное время выполнения задания 3 минуты.
Проверяемые элементы содержания:
— знание основных понятий и законов математической логики.
Элементы содержания, проверяемые на ЕГЭ:
— высказывания, логические операции, кванторы, истинность высказывания.
Обозначим через m&n поразрядную конъюнкцию неотрицательных целых чисел m и n. Так, например, 14&5 = 11102&01012 = 01002 = 4.
Для какого наименьшего неотрицательного целого числа А формула
x&51 = 0 ∨ (x&41 = 0 → x&А ≠ 0)
тождественно истинна (т.е. принимает значение 1 при любом неотрицательном целом значении переменной х)?
Ответ: ________
Разбор 18 задания ЕГЭ 2017
1) Для начала упростим нашу формулу x&51 = 0 ∨ (x&41 = 0 → x&А ≠ 0), заменив импликацию простыми логическими операциями используя формулу: A→B = ¬A + B
x&51 = 0 ∨ x&41 ≠ 0 ∨ x&А ≠ 0
2) Рассмотрим первое выражение (x&51 = 0) и узнаем для каких чисел X это выражение будет истинно:
Переведём число 51 в двоичную систему счисления
5110 = 1100112
3) Определяем те значения X, при которых истинно выражение x&51 = 0:
5110 110011
Х 111111
=0 110011
Если в числе Х на месте 1-го, 2-го, 5-го и 6-го разряда окажутся единицы, то после поразрядной конъюнкции на этих местах также будут стоять единицы, т.е. мы не получим «0» и выражение (x&51 = 0) будет ЛОЖНО.
Все остальные цифры в числе X могут быть любыми, так как после поразрядной конъюнкции на этих местах все равно будет «0».
Значит первое слагаемое учитывает все числа х, в которых нет на 1-м, 2-м, 5-м и 6-м местах единиц.
4) Рассмотрим второе выражение (x&41 ≠ 0): только для тех чисел Х, у которых на 1-м, 2-м, 5-м и 6-м местах стоят единицы.
Переведём число 41 в двоичную систему счисления
4110 = 1010012
5) Определяем те значения X, при которых истинно выражение x&41 ≠ 0:
4110 101001
Х 11 11
≠0 10 01
Если в числе Х на месте 2-го и 5-го разряда стоят единицы, то после поразрядной конъюнкции на этих местах будут стоять нули, т.е. мы не получим «1» и выражение (x&41 ≠ 0) будет ложно.
Единицы на 1-м и 6-м месте в числе Х после поразрядной конъюнкции дадут «1» и выражение (x&41 ≠ 0) будет истинно.
Значит второе слагаемое учитывает числа Х, в которых на 1-м и 6-м местах стоят «1» и не учитывает числа Х, в которых на 2-м и 5-м местах стоят «1».
6) Рассмотрим третье выражение (x&A≠0):
У нас остались неучтенными лишь те числа Х, у которых на 5-м и 2-м месте стоят «1», следовательно, их нужно учесть в числе А.
Минимально возможное такое число это 100102 = 1810
Ответ: 18
Опубликовано: 12.11.2016
Обновлено: 12.03.2020
3 новых тренировочных варианта к ЕГЭ 2023 по информатике 11 класс по новому формату с ответами и видео решением варианта. Данные пробные варианты вы можете также решать онлайн на сайте. Ответы, файлы для заданий опубликованы в самих вариантах.
посмотреть предыдущие варианты
3 тренировочный вариант ЕГЭ 2023 по информатике 11 класс
3вариант-егэ2023-информатика-тренировочный
4 тренировочный вариант ЕГЭ 2023 по информатике 11 класс
4вариант-егэ2023-информатика-тренировочный
5 тренировочный вариант ЕГЭ 2023 по информатике 11 класс
5вариант-егэ2023-информатика-тренировочный
Пробный вариант №3
1.На рисунке справа схема дорог Н-ского района изображена в виде графа, в таблице содержатся сведения о длинах этих дорог (в километрах). Так как таблицу и схему рисовали независимо друг от друга, то нумерация населённых пунктов в таблице никак не связана с буквенными обозначениями на графе. Определите длину дороги между пунктами Е и Ж. Передвигаться можно только по указанным дорогам.
Ответ: 14
2.Логическая функция F задаётся выражением ((¬x ˄ y) ≡ z) ˄ w. На рисунке приведён частично заполненный фрагмент таблицы истинности функции F, содержащий неповторяющиеся строки. Определите, какому столбцу таблицы истинности функции F соответствует каждая из переменных x, y, z,w. В ответе напишите буквы x, y, z, w в том порядке, в котором идут соответствующие им столбцы.
Ответ: yzwx
3.В файле приведён фрагмент базы данных «Продукты» о поставках товаров в магазины районов города. База данных состоит из трёх таблиц. Таблица «Движение товаров» содержит записи о поставках товаров в магазины в течение первой декады июня 2021 г., а также информацию о проданных товарах. Поле Тип операции содержит значение Поступление или Продажа, а в соответствующее поле Количество упаковок внесена информация о том, сколько упаковок товара поступило в магазин или было продано в течение дня. Заголовок таблицы имеет следующий вид.
Ответ: 1509
4.По каналу связи передаются сообщения, содержащие только семь букв: А, Б, Г, И, М, Р, Я. Для передачи используется двоичный код, удовлетворяющий условию Фано. Кодовые слова для некоторых букв известны: А — 010, Б — 00, Г — 101. Какое наименьшее количество двоичных знаков потребуется для кодирования слова МАГИЯ? Примечание: условие Фано означает, что ни одно кодовое слово не является началом другого кодового слова.
Ответ: 15
5.Автомат получает на вход четырехзначное число. По этому числу строится новое число по следующим правилам. 1. Умножаются первая и вторая, а также третья и четвертая цифры исходного числа. 2. Полученные два числа записываются друг за другом в порядке возрастания (без разделителей). Пример. Исходное число: 5431. Произведения: 5 * 4 = 20; 3 * 1 = 3. Результат: 320. Укажите максимальное число, в результате обработки которого, автомат выдаст число 1214.
Ответ: 7262
6.Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует две команды: Вперёд n (где n – целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова, Направо m (где m – целое число), вызывающая изменение направления движения на m градусов по часовой стрелке. Запись Повтори k [Команда1 Команда2 … КомандаS] означает, что последовательность из S команд повторится k раз. Черепахе был дан для исполнения следующий алгоритм: Повтори 10 [Вперёд 15 Направо 60]. Сколько существует точек с целочисленными координатами, лежащими на получившемся контуре?
Ответ: 16
7.Музыкальный фрагмент длительностью 2 минуты записали в формате стерео. Размер полученного файла составил 20 Мбайт. После чего музыкальный фрагмент перевели в формат моно, при этом уменьшив частоту дискретизации вдвое и удалив из фрагмента 24 секунды записи. Полученный фрагмент также сохранили в виде файла. Методы сжатия в обоих случаях не применялись. Найдите размер полученного после преобразования файла в МБайт.
Ответ: 4
8.Вася составляет 3-буквенные слова, в которых есть только буквы К, А, Т, Е, Р, причём буква Р используется в каждом слове хотя бы 2 раза. Каждая из других допустимых букв может встречаться в слове любое количество раз или не встречаться совсем. Словом считается любая допустимая последовательность букв, не обязательно осмысленная. Сколько существует таких слов, которые может написать Вася?
Ответ: 13
9.Откройте файл электронной таблицы, содержащей в каждой строке пять натуральных чисел. Определите количество строк таблицы, в которых среднее значение элементов меньше среднего значения между максимальным и минимальным значениями. В ответе запишите только число.
Ответ: 2203
10.С помощью текстового редактора определите, сколько раз, не считая сносок, встречается слово «Кругом», написанное с заглавной буквы, в тексте поэмы А.С.Пушкина «Руслан и Людмила». В ответе укажите только число.
Ответ: 6
11.При регистрации в компьютерной системе каждому объекту присваивается идентификатор, состоящий из 252 символов и содержащий только десятичные цифры и символы из 1700-символьного специального алфавита. В базе данных для хранения каждого идентификатора отведено одинаковое и минимально возможное целое число байт. При этом используется посимвольное кодирование идентификаторов, все символы кодируются одинаковым и минимально возможным количеством бит. Определите объём памяти (в Кбайт), необходимый для хранения 4096 идентификаторов. В ответе запишите только целое число – количество Кбайт
Ответ: 1388
12.Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки символов. заменить (v, w) нашлось (v) Первая команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Если цепочки v в строке нет, эта команда не изменяет строку. Вторая команда проверяет, встречается ли цепочка v в строке исполнителя Редактор.
Ответ: 205
13.На рисунке – схема дорог, связывающих города А, Б, В, Г, Д, Е, Ж, З, И, К, Л, М. По каждой дороге можно двигаться только в одном направлении, указанном стрелкой. Сколько существует различных путей из города А в город М, проходящих через Г?
Ответ: 16
14.Значение арифметического выражения 5 · 2163031 + 4 · 363042 — 3 · 63053 — 3064 записали в системе счисления с основанием 6. Определите сумму цифр в записи этого числа.
Ответ: 30417
15.Для какого наибольшего целого неотрицательного числа А выражение (x + y ≤ 22) ∨ (y ≤ x — 6) ∨ (y ≥ A) тождественно истинна (т.е. принимает значение 1) при любых целых положительных х и у?
Ответ: 9
16.Алгоритм вычисления функции F(n) задан следующими соотношениями: F(n) = –n при n < 0 F(n) = 2n + 1 + F(n–3), если n чётно, F(n) = 4n + 2·F(n–4), если n нечётно. Чему равно значение функции F(33)?
Ответ: 11612
17.В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от -10000 до 10 000 включительно. Определите пары, среднее арифметическое в которых больше, чем количество чисел в последовательности, абсолютное значение которых меньше 100. В ответе запишите два числа: сначала количество найденных пар, а затем – максимальную сумму элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
Ответ: 385 1990
18.Квадрат разлинован на N×N клеток (1 < N < 17). Исполнитель Робот может перемещаться по клеткам, выполняя за одно перемещение одну из двух команд: вправо или вниз. По команде вправо Робот перемещается в соседнюю правую клетку, по команде вниз – в соседнюю нижнюю. При попытке выхода за границу квадрата Робот разрушается. Перед каждым запуском Робота в каждой клетке квадрата записано число от 10 до 99. Посетив клетку с нечетным значением, Робот увеличивает счет на 1; иначе на 2. Определите максимальное и минимальное значение счета, которую может собрать Робот, пройдя из левой верхней клетки в правую нижнюю. В ответе укажите два числа – сначала минимальную сумму, затем максимальную. Исходные данные представляют собой электронную таблицу размером N×N, каждая ячейка которой соответствует клетке квадрата.
Ответ: 23 32
19.Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. Игрокам доступны следующие ходы: · Уменьшить количество камней в три раза, · Убрать из кучи 10 камней Например, из кучи из 25 камней можно получить кучу из 8 или 15 камней. В таком случае результат кратного уменьшения округляется вниз (берется целая часть). Игра завершается в тот момент, когда количество камней в куче становится не более 10. Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Известно, что Ваня выиграл своим первым ходом после неудачного хода Пети. При каком максимальном значении S такое возможно?
Ответ: 98
20.Для условия из задачи 19 известно, что Петя имеет выигрышную стратегию. Укажите минимальное и максимальное значения при которых: · Петя не может победить первым ходом · при любом ходе Вани Петя побеждает своим вторым ходом.
Ответ: 43 128
21.Для условия из задачи 19 известно, что Ваня имеет выигрышную стратегию за один или два хода, при этом не имеет выигрышной стратегии в один ход. Сколько существует значений s при которых такая стратегия может быть реализована.
Ответ: 20
22.В файле содержится информация о совокупности N вычислительных процессов, которые могут выполняться параллельно или последовательно. Будем говорить, что процесс B зависит от процесса A, если для выполнения процесса B необходимы результаты выполнения процесса A. В этом случае процессы могут выполняться только последовательно. Информация о процессах представлена в файле в виде таблицы. В первой строке таблицы указан идентификатор процесса (ID), во второй строке таблицы – время его выполнения в миллисекундах, в третьей строке перечислены с разделителем «;» ID процессов, от которых зависит данный процесс. Если процесс является независимым, то в таблице указано значение 0.
Ответ: 36
23.Исполнитель Простачок преобразует число, записанное на экране. У исполнителя есть три команды, которым присвоены номера: 1. Прибавить 2 2. Прибавить предыдущее 3. Прибавить следующее Первая команда увеличивает число на 2, вторая – на предыдущее (например, число 5 будет преобразовано по правилу 5 + 4), третья – на следующее (аналогично, 5 по правилу 5 + 6 = 11) Сколько существует таких программ, которые исходное число 7 преобразуют в число 63, при этом траектория вычислений не содержит число 43?
Ответ: 116
24.Текстовый файл состоит не более чем из 106 символов X, Y, Z. Определите максимальное количество идущих подряд символов, расположенных в алфавитном порядке (возможно с повторением символов). Для выполнения этого задания следует написать программу.
Ответ: 15
25.Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:– символ «?» означает ровно одну произвольную цифру; – символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность. Например, маске 123*4?5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 109, найдите все числа, соответствующие маске 12345?7?8, делящиеся на число 23 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 23.
26.В лесополосе осуществляется посадка плодовых деревьев. Причем саженцы высаживают рядами на одинаковом расстоянии. Между соседними саженцами в одном ряду расстояние 10 метров. В каждом ряду сидят разные виды плодовых деревьев. Через какое-то время осуществляется аэросъемка, в результате которой определяется, какие саженцы прижились. Для успешного перекрестного опыления необходимо, чтобы дерево было на расстоянии не более 20 метров от прижившегося дерева того же вида, иначе оно не будет плодоносить. Определите, какое минимальное количество деревьев нужно посадить, чтобы все деревья могли плодоносить. И минимальный номер ряда, в котором необходимо посадить максимальное количество деревьев. Входные данные: В первой строке входного файла 26.txt находится число N — количество занятых мест(натуральное число, не превышающее 10 000). Каждая из следующих N строк содержит два натуральных числа, не превышающих 100 000: номер ряда и номер занятого места. Выходные данные: Два целых неотрицательных числа: минимальное количество деревьев, необходимое к посадке в лесополосе, и минимальный номер ряда, где нужно посадить максимальное количество деревьев.
27.На вход программы поступает последовательность из N целых положительных чисел. Рассматриваются все пары различных элементов последовательности. Необходимо определить количество пар чисел, сумма которых кратна 131. Входные данные. Даны два входных файла (файл A и файл B), каждый из которых содержит в первой строке количество чисел N (2 ≤ N ≤ 10000). В каждой из последующих N строк записано одно целое положительное число, не превышающее 100 000. Программа должна вывести в первой строке одно число: количество пар чисел, сумма которых кратна 131.
Пробный вариант №4
1)На рисунке справа схема дорог между некоторыми объектами изображена в виде графа, в таблице содержатся сведения о длинах этих дорог (в километрах). Так как таблицу и схему рисовали независимо друг от друга, то нумерация объектов в таблице никак не связана с буквенными обозначениями на графе. Определите длину кратчайшего пути между пунктами В и Е. Передвигаться можно только по указанным дорогам.
Ответ: 25
2)Логическая функция F задаётся выражением (¬𝑎⋀¬𝑏) ∨ (𝑏 ≡ 𝑐) ∨ 𝑑. На рисунке приведён частично заполненный фрагмент таблицы истинности функции F, содержащий неповторяющиеся строки. Определите, какому столбцу таблицы истинности функции F соответствует каждая из переменных a, b, c, d. В ответе напишите буквы a, b, c, d в том порядке, в котором идут соответствующие им столбцы. Буквы в ответе пишите подряд, никаких разделителей между буквами ставить не нужно.
Ответ: cdba
3)В файле приведён фрагмент базы данных «Фильмы», содержащий информацию о ряде фильмов. К каждому фильму привязан свой ID. Таблица «Фильмы» содержит информацию о названии фильма, продолжительности фильма в секундах, бюджете фильма в $ (долларах) и о сборах с его показа в $ (долларах).
Ответ: 92
4)В сообщении встречается 50 букв А, 30 букв Б, 20 букв В и 5 букв Г. При его передаче использован неравномерный двоичный префиксный код, который позволил получить минимальную длину закодированного сообщения. Какова она в битах?
Ответ: 185
5)На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом. 1. Строится двоичная запись числа N. 2. Далее эта запись обрабатывается по следующему правилу: а) если число чётное, то к двоичной записи числа слева дописывается 1, а справа 0. Например, если для исходного числа 100 результатом будет являться число 11000; б) если число нечётное, то к двоичной записи числа слева дописывается 11 и справа дописывается 10. Полученная таким образом запись является двоичной записью искомого числа R. Например, при обработке числа 14 алгоритм работает следующим образом. 1. 11102 2. 14 — четное, R2 = 111100 R10 = 60. Сумма цифр — 6. 610 = 1102 Укажите минимальное число R сумма всех цифр которого в десятичной системе счисления больше 17 и которое может являться результатом работы алгоритма. В ответе запишите сумму всех цифр этого числа в двоичной системе счисления.
Ответ: 10011
6)Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует две команды: Вперёд n (где n – целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова, Направо m (где m – целое число), вызывающая изменение направления движения на m градусов по часовой стрелке. Запись Повтори k [Команда1 Команда2 … КомандаS] означает, что последовательность из S команд повторится k раз. Черепахе был дан для исполнения следующий алгоритм: Повтори 151 [Вперёд 10 Направо 300 Вперёд 20 Направо 300]. Сколько раз черепаха пройдет через начало координат? Факт положения черепахи в начале координат перед выполнением алгоритма за прохождение не считать.
Ответ: 50
7)Для хранения в информационной системе документы сканируются с разрешением 400 ppi. Методы сжатия изображений не используются. Средний размер отсканированного документа составляет 2 Мбайт. В целях экономии было решено перейти на разрешение 100 ppi и цветовую систему, содержащую 64 цвета. Средний размер документа, отсканированного с изменёнными параметрами, составляет 96 Кбайт. Определите количество цветов в палитре до оптимизации.
Ответ: 256
8)Определите количество пятизначных чисел, записанных в девятеричной системе счисления, которые не начинаются с нечетных цифр, не оканчиваются цифрами 1 или 8, а также содержат в своей записи не более одной цифры 3.
Ответ: 18944
9)Откройте файл электронной таблицы, содержащей в каждой строке пять натуральных чисел. Определите количество строк таблицы, в которых хотя бы 3 числа больше среднего арифметического всех чисел в строке. В ответе запишите только число.
Ответ: 1035
10)Текст романа Александра Пушкина «Евгений Онегин» представлен в виде файлов различных форматов. Откройте один из файлов и определите, сколько раз встречаются в тексте слова с сочетанием букв «свет», например «светлый», «света». Отдельные слова «свет» и «Свет» учитывать не следует. В ответе запишите только число.
Ответ: 6
11)При регистрации в компьютерной системе каждому пользователю выдаётся пароль, состоящий из 15 символов и содержащий только десятичные цифры и символы из 12-символьного набора: А, В, C, D, Е, F, G, H, K, L, M, N. В базе данных для хранения каждого пароля отведено одинаковое и минимально возможное целое число байт. При этом используют посимвольное кодирование паролей, все символы кодируются одинаковым и минимально возможным количеством бит. Кроме собственно пароля, для каждого пользователя в системе хранятся дополнительные сведения, для чего отведено 12 байт на одного пользователя. Определите объём памяти (в байтах), необходимый для хранения данных о 40 пользователях. В ответе запишите только целое число – количество байт.
Ответ: 880
12)Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки символов. заменить (v, w) нашлось (v) Первая команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Если цепочки v в строке нет, эта команда не изменяет строку. Вторая команда проверяет, встречается ли цепочка v в строке исполнителя Редактор.
Ответ: 17
13)На рисунке представлена схема дорог, связывающих города А, Б, В, Г, Д, Е, Ж, И, К, Л. По каждой дороге можно двигаться только в одном направлении, указанном стрелкой. Определите количество различных путей ненулевой длины, которые начинаются и заканчиваются в городе Е, не содержат этот город в качестве промежуточного пункта и проходят через промежуточные города не более одного раза.
Ответ: 18
14)Значение выражения 277 – 3 11 + 36 – x записали в троичной системе счисления, при этом сумма цифр в записи оказалась равной 22. При каком минимальном натуральном x это возможно?
Ответ: 6
15)Обозначим через ДЕЛ(n, m) утверждение «натуральное число n делится без остатка на натуральное число m». Для какого наименьшего натурального числа А формула (ДЕЛ(x, 2) → ¬ДЕЛ(x, 5)) ∨ (x + A ≥ 90) тождественно истинна (то есть принимает значение 1 при любом натуральном значении переменной х)?
Ответ: 80
16)Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями: F(n) = 1 при n < 3; F(n) = 2 × F(n – 1) – F(n – 2), если n > 2 и при этом n чётно; F(n) = F(n − 1) – 2 × F(n – 2) – 3, если n > 2 и при этом n нечётно. Чему равно значение функции F(15)?
Ответ: 6
17)В файле содержится последовательность натуральных чисел. Элементы последовательности могут принимать целые значения от 1 до 100 000 включительно. Определите количество пар последовательности, в которых остаток от деления хотя бы одного из элементов на 117 равен минимальному элементу последовательности. В ответе запишите количество найденных пар, затем максимальную из сумм элементов таких пар. В данной задаче под парой подразумевается два подряд идущих элемента последовательности.
Ответ: 175, 173738
18)Исходные данные для Робота записаны в файле в виде электронной таблицы прямоугольной формы. Робот может двигаться только вверх на соседнюю клетку и вправо на соседнюю клетку. Робот может брать монеты только с тех клеток, где количество монет чётно. Если количество монет нечётно, то Робот не берёт в этой клетке ни одной монеты. Определите максимальную и минимальную денежную сумму, которую может собрать Робот, пройдя из левой НИЖНЕЙ клетки в правую ВЕРХНЮЮ. В ответе укажите два числа – сначала максимальную сумму, затем минимальную.
Ответ: 974, 306
19)Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в кучу один камень, добавить два камня или увеличить количество камней в куче в два раза. При этом удвоение разрешено выполнять, только если в куче в данный момент нечётное число камней. Например, если в начале игры в куче 3 камня, Петя может первым ходом получить кучу из 4, 5 или 6 камней. Если Петя получил кучу из 4 камней (добавил один камень), то следующим ходом Ваня может получить 5 или 6 камней. Получить 8 камней Ваня не может, так как нельзя удваивать кучу с чётным числом камней. Чтобы делать ходы, у каждого игрока есть неограниченное количество камней. Игра завершается, когда количество камней в куче становится не менее 26. Победителем считается игрок, сделавший последний ход, то есть первым получивший кучу, в которой будет 26 или больше камней. В начальный момент в куче было S камней, 1 ≤ S ≤ 25 Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Укажите такое значение S, при котором у Вани есть выигрышная стратегия, позволяющая ему выиграть вторым ходом при любой игре Пети, но у Вани нет стратегии, которая позволяла бы ему гарантированно выиграть первым ходом.
Ответ: 18
20)Для игры, описанной в задании 19, укажите два значения S, при которых Петя не может выиграть за один ход, но у Пети есть выигрышная стратегия, позволяющая ему выиграть вторым ходом. В ответе запишите найденные значения в порядке возрастания: сначала меньшее, затем большее.
Ответ: 11, 20
21)Для игры, описанной в задании 19, найдите наименьшее значение S, при котором у Пети есть выигрышная стратегия, позволяющая ему выиграть третьим ходом при любой игре Вани, но у Пети нет стратегии, которая позволяла бы ему гарантированно выиграть первым или вторым ходом.
Ответ: 9
22)В файле содержится информация о вычислительных процессов проектов P1 и P2, которые могут выполняться только последовательно. Будем говорить, что процесс B зависит от процесса A, если для выполнения процесса B необходимы результаты выполнения процесса A. В этом случае процессы могут выполняться только последовательно. Информация о процессах представлена в файле в виде таблицы. В первой строке таблицы указан идентификатор процесса (ID), во второй строке таблицы – время его выполнения в миллисекундах, в третьей строке перечислены с разделителем «;» ID процессов, от которых зависит данный процесс. Если процесс является независимым, то в таблице указано значение 0.
Ответ: 35
23)Исполнитель Счётчик преобразует число на экране. У исполнителя есть две команды, которым присвоены номера: 1. Прибавить 5 2. Умножить на 5 Первая команда увеличивает число на экране на 5, вторая умножает его на 5. Программа для исполнителя Счётчик — это последовательность команд. Сколько существует программ, для которых при исходном числе 5 результатом является число 280 и при этом траектория вычислений содержит число 30 и не содержит числа 60? Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы 121 при исходном числе 5 траектория будет состоять из чисел 10, 50, 55.
Ответ: 12
24)Текстовый файл содержит только заглавные буквы латинского алфавита(ABC…Z). Определите максимальное количество идущих подряд символов, среди которых не более двух букв D. Для выполнения этого задания следует написать программу.
Ответ: 373
25)Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: — символ «?» означает ровно одну произвольную цифру; — символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность. Напишите программу, которая ищет среди целых чисел, превышающих 320400, первые пять чисел, которые делятся на все чётные числа, соответствующие маске 1?. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце — соответствующие им частные от деления на максимальное из чисел, соответствующие маске 1?.
26)В магазине сотовой связи представлены смартфоны различной стоимости. Считается, что K самых дешёвых смартфонов относятся к бюджетному сегменту, а M самых дорогих – к премиум сегменту. По заданной информации о цене каждого из смартфонов определите цену самого дешёвого смартфона премиум сегмента, а также целую часть средней цены телефона из бюджетного сегмента. Входные и выходные данные. В первой строке входного файла находятся три числа, записанные через пробел: N – общее количество смартфонов (натуральное число, не превышающее 10 000), K – количество смартфонов в бюджетном сегменте, M – количество смартфонов в премиум сегменте. В следующих N строках находятся стоимости каждого из смартфонов (все числа натуральные, не превышающие 30000), каждое в отдельной строке. Запишите в ответе два числа: сначала цену самого дешёвого смартфона премиум сегмента, а затем целую часть средней цены телефона из бюджетного сегмента.
27)Дана последовательность, состоящая из N целых неотрицательных чисел. Рассматриваются подпоследовательности исходной последовательности, состоящие из K элементов и содержащие в себе хотя бы один нуль. Гарантируется, что K — нечётное. Среди этих подпоследовательностей найти такие, в которых суммы элементов, расположенных по разные стороны от центра, равны. Центральное число в суммы не учитывается. Найти количество подходящих подпоследовательностей. Входные данные. Даны два входных файла (файл A и файл B). В каждом файле на вход подаётся два числа: N и K. Следом N чисел. При этом (2 ≤ N ≤ 5 000 000).
Демоверсия ЕГЭ 2023 по информатике 11 класс ФИПИ
Демоверсия ЕГЭ 2023 по информатике 11 класс ФИПИ вариант с ответами