Найти в Дзене

Финальный пробник №15 от Яндекса: показываю задачи на Python, что резонно программировать

Хорошие пробники в этом году, разношерстные. Этот, думаю, будет последним. Программа типовая, но головоломка не самая простая - подумать пришлось Обычно эту задачу не программируют. Но для тех, кому это интересно, предлагаю вариант кода. сделал комментарии, идея должна быть понятной Не самая простая задача. Но решение "в лоб" ниже привожу, думаю, понятное Стандартное задание, все легко - 7 умножаем на 9 и получаем количество точек в пересечении фигур ну или программой, почему бы не заставить лучший в мире калькулятор - Python поработать на нас. В докомпьютерную эпоху ЕГЭ так вот👆 и переводили, с помощью систем счисления. Но сейчас, в основном, компьютер все решает за нас. Честно: вручную быстрее) Конечно, задачу можно решить в электронных таблицах, но я предлагаю альтернативный способ. По-моему, компактно и красиво получилось: Единственный комментарий: к первому условию - равенство сумм пар в четверке возможно только тогда, когда минимум + максимум = сумме средних чисел. остальное, ск
Оглавление

Хорошие пробники в этом году, разношерстные. Этот, думаю, будет последним.

№2

-2

Программа типовая, но головоломка не самая простая - подумать пришлось

-3

№4

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

-4

сделал комментарии, идея должна быть понятной

-5

№5

-6

Не самая простая задача. Но решение "в лоб" ниже привожу, думаю, понятное

-7

№6

-8

Стандартное задание, все легко - 7 умножаем на 9 и получаем количество точек в пересечении фигур

-9

№7

-10

ну или программой, почему бы не заставить лучший в мире калькулятор - Python поработать на нас.

-11

№8

-12

В докомпьютерную эпоху ЕГЭ так вот👆 и переводили, с помощью систем счисления. Но сейчас, в основном, компьютер все решает за нас. Честно: вручную быстрее)

-13

№9

-14

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

-15

Единственный комментарий: к первому условию - равенство сумм пар в четверке возможно только тогда, когда минимум + максимум = сумме средних чисел. остальное, скорее всего, понятно. Если нет - пишите в комментариях

№10

Обычно эту задачу не программируют. ну а что? Для проверки - почему бы и нет?

-16

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

-17

№11

-18

Задача унизительно простая - решается устно (на бумажке), но я покажу программу:

-19

№12

-20

Типовое решение, смотрим:

-21

№13

-22

Думаю, легче задачи на поиск количества IP-адресов, чем масок. Поэтому эта задача дастся легко. Идея простая - используя модуль ipaddress, строим сеть, в которой ищем ip-адреса, но сами адреса не обрабатываем - делаем срез на последний октет адреса, считаем там нули и единицы, считаем количество. В строку не забудьте перевести, чтобы метод count работал

-23

№14

-24

Идея опять же простая - перебираем иксы, строим каждый раз новое число, по пути отделяем последние цифры от числа, считаем нули, обновляем максимум, добавляем в список пару "максимум" и "икс", выводим max.

-25

№15

-26

Люблю решение с флагом, но есть такое же решение с помощью all - если что непонятно - спросите. Единственный совет - перебор на x и y не делайте большим - долго считать будет, так как вложенный цикл имеется, а вот а надо брать побольше

-27

№16

-28

Никаких сложностей и хитростей - просто отправляем в работу для питона, повысив глубину рекурсии.

-29

или так:

-30

№17

-31

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

-32

№19-21

-33

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

-34
-35
-36

общее решение на номера 20 и 21

-37

№23

-38

Типичная задача - бесхитростное решение

-39

№24

-40
  • Хорошая задача, не самая простая. Через регулярки решить не удалось, делаю вот такое решение, с перебором
-41

№25

-42

Задача не самая сложная, но есть нюансы. Работаем внимательно с тем, что возвращает функция. К примеру, если i меньше 10, перебор для данного x останавливаем. также включаем "ускорение" - идем до корня числа, а также добавляем в список не только делитель, но сразу бонусом x//i - так программа работает быстрее.

-43

№26.

Интересная задача, про комбайнера, который собирает кукурузу абы как).

-44

Это начало файла - для понимания - сначала идет сторона квадратного поля (86201), затем ширина режущего аппарата 18, далее сколько раз он ездил "вертикально", последнее число - сколько горизонтальных полос он наделал. Ниже идут 5798 расстояния от легкого края, потом 6422 расстояния от низа

-45

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

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

-46

№27

-47

Для начала посмотрим, как выглядят кластеры в файле А - построим в ЭТ точечные диаграммы. Для наглядности настроим цену деления в 1 - по оси x и по оси y

-48

Построим прямую из точки (3;0) до точки (5;5) - можно будет в программе понять, какие точки лежат выше этой прямой, какие - ниже. Выведем уравнение прямой позже (y = 2.5k - 7.5)

-49

для файла А вот такой вывод:

-50

Приступим к обработке файла Б

Первым делом построим точечные диаграммы в Excel, настроив цену деления в 1. Здесь, как видим, 3 кластера - и файл побольше.

-51

придется выводить три уравнения прямых (как минимум). первое уравнение -3.5x + 15.5

-52

второе уравнение y = 7/8x + 0.5

-53

Кластеров теперь 3 - добавляем условия в код, меняем проверку уравнения прямых. Файл побольше, считает дольше. Ответы такие:

-54
Было полезно? Делайте палец вверх! Успехов на экзаменах!