Рубрика «Занимательные задачки» - 10

Как управлять часами? Разбор фронтенд-трека второго чемпионата по программированию - 1Новый хабрапост в серии разборов недавно прошедшего чемпионата. Участникам квалификации, которые выбрали секцию фронтенда, нужно было решить несколько задач очень разной сложности: первая (по нашим ожиданиям) занимала 20 минут, последняя — около часа. Мы проверяли широкий спектр навыков разработчика интерфейсов, включая способность разобраться в необычной предметной области.

A. Аннигилируй это

Авторы: Максим Сысоев, Константин Петряев

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

Условие

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

Тяжело искать ответы в бесконечном пространстве. Математика уровня старших классов может помочь вам сузить область поисков.

Почему сумма трёх кубов – это такая сложная математическая задача - 1

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

К примеру, нам было известно, что число 3 можно записать в виде 13 + 13 + 13, а также в виде 43 + 43 + (-5)3, однако более 60 лет математиков интересовал вопрос, нет ли ещё одного способа сделать это. И в этом сентябре Эндрю Букер и Эндрю Сазерленд, наконец, нашли и третий способ:
Читать полностью »

CodeSide. Новая игра для знаменитого соревнования Russian AI Cup - 1

Сообщество участников чемпионатов и команда Mail.ru Group в сотрудничестве с Codeforces.com приглашают вас на самую настоящую бойню, от которой вы получите бессонные ночи и мозоли на руках, поскольку будете участвовать в одном из самых живых и интересных чемпионатов по программированию искусственного интеллекта в мире — Russian AI Cup. Поверьте, что организаторы всего этого безумия продали все свои души ради создания игры, в которую вы захотите играть.

Вам будут нужны только доступ в Интернет, компьютер, голова конечно же, ну и желание ворваться в самую незаурядную тусовку. Возможно, что ещё пригодится кофе. Добро пожаловать!

Каждый год мы ломаем наши головы, чтобы придумать тему следующего соревнования. Так мы делаем уже с далёкого 2012 года. В этой статье я не буду рассказывать про предыдущие соревнования. Полезные ссылки будут в конце статьи.
Читать полностью »

Недавно наш разработчик сочинил IT-сказку по мотивам одной ну очень известной эпопеи. Финал он дописать так и не успел: конец спринта, хотфикс-откат хотфикса, сами понимаете. Теперь мы запускаем конкурс на Хабре, чтобы узнать, чем же всё закончилось.

Властелин прода в царстве legacy-кода (сказочка с открытым концом) - 1
Читать полностью »

Какой следующий член…? — Ищем формулу для n-го члена последовательности, производящие функции и Z-преобразование - 1Скачать файл с кодом и данные можно в оригинале поста в моем блоге

В языке Wolfram Language есть четыре совершенно потрясающие функции: FindSequenceFunction, RSolve, DifferenceRootReduce и FindFormula. В этой статье мы обсудим их возможности и поговорим о функциях, тесно с ними связанных — для поиска параметров линейной рекурсии FindLinearRecurrence (коэффициентов линейного рекуррентного уравнения), производящих функциях GeneratingFunction и Z-преобразовании ZTransform.

Первая функция — FindSequenceFunction — по последовательности чисел ищет выражение для её n-го члена не требуя вообще ничего более.

Hold @ FindSequenceFunction[{1, 1, 2, 3, 5, 8, 13}, n]

Какой следующий член…? — Ищем формулу для n-го члена последовательности, производящие функции и Z-преобразование - 2

FindSequenceFunction[
{-2, 4Sqrt[Pi],
-16, 16Sqrt[Pi],
-128/3, 32Sqrt[Pi],
-1024/15, 128Sqrt[Pi]/3,
-8192/105, 128Sqrt[Pi]/3},
n]

Какой следующий член…? — Ищем формулу для n-го члена последовательности, производящие функции и Z-преобразование - 3
Читать полностью »

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

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

Читать полностью »

image

На Хабре сегодня уже звучали хэллоуинские байки. А как насчет конкурса на самую страшную историю?

Пускай она начинается так:

Пустой ночной офис отзывался холодом. Шум серверов и ветер в холодных коридорах притупляли накрывающее чувство одиночества. Уставший от ослепляющего света монитора, он решил найти минутное освобождение в какао с маковыми сушками. Едва сделав шаг в сторону кофе-поинта, он почувствовал, как запускается ДГУ...

А продолжение этой истории предстоит придумать вам!
Читать полностью »

Боитесь ли вы темноты? Может быть, зомби-апокалипсиса или чудовища под кроватью? Мы знаем, что нет. У нас, айтишников, свои источники ужаса: криворукие пользователи, далёкие от IT начальники, упавшие сервера, пропавшие или не сделанные бэкапы, легаси код и Agile-митинги, когда на самом деле вся разработка управляется вскриками «ещё вчера», «заказчик мечет», «там критикал на проде». Накануне Хэллоуина мы решили найти самые ужасные истории, рассказать пару своих, а заодно услышать ваши. Ну что, готовы рассказать холодящие душу байки? 

Пссс, хотите немного ужасных IT-историй? - 1

Читать полностью »

В конце книги «Гарри Поттер и философский камень» есть интересная загадка. Гарри и Гермиона входят в комнату, после чего входы в неё блокирует волшебный огонь, и выйти из неё они смогут, только решив следующую загадку:

Перед тобой — опасность, а позади — спасенье,
Помогут тебе двое, кого найдешь средь нас;
С одной из семерых вперёд продолжишь ты движенье
Другая же назад тебя перенесёт тотчас.
В двоих из нас найдёшь ты лишь крапивное вино,
А три несут погибель, стоят в ряду тайком.
Так выбирай же, из какой отведать суждено,
Для этого четыре подсказки мы даём.
Напрасно яд пытался скрыть свой смертоносный жар,
Всегда его найдёшь ты налево от вина,
И знай, что те, кто по краям, различный держат дар,
Но если хочешь дальше, не поможет ни одна.
Разнимся мы размером все, от края и до края,
Сидит не в меньшей смерть твоя, но и не в большей тоже;
Вторая с правого конца и с левого вторая
По вкусу — словно близнецы, хоть с виду непохожи.

[из «народного перевода» книги «Гарри Поттер и философский камень»]

Решаем все 42 версии загадки про зелья из Гарри Поттера - 1
Читать полностью »

Тайм-киллер из детства - 1

Уверен, многие из читающих иногда занимались на уроках бесполезной ерундой вместо того, чтобы слушать учителя. Я точно так делал, и одним из способов убить время были игры на бумаге. Особенно интересной мне казалась игра на превью (название которой мне до сих пор неизвестно), а причин тут две: она не требует второго человека и её можно завершить! Правда сделать это удавалось крайне редко. Долгое время мне было интересно, насколько простым может оказаться решение, и сейчас, спустя много лет, не составит труда найти его программным путём.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js