Как стать автором
Обновить
53.17

Занимательные задачки

Разминаем мозги

Сначала показывать
Порог рейтинга
Уровень сложности

EBU R128/BS.1770-3: Пакетная нормализация громкости аудио/видео файлов

Время на прочтение2 мин
Количество просмотров16K
Всем привет!
Решил поделиться опытом автоматизации контроля громкости вещания своего СМИ. Думаю, у всех профильных технарей давно болит голова, точно продолжает болеть. Введенная Минкомсвязи рекомендация в области нормирования громкости звуковых сигналов вызвала волны возмущения.
Не было предоставлено ни средств контроля, ни средств производства. Крутитесь как хотите.
Впрочем, уже давно, задолго до того знакового события существуют различные плагины к монтажным программам.
Но как быть если уже накоплена огроменная медиабаза?
image
Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии11

Задача про улитку

Время на прочтение3 мин
Количество просмотров47K
image В этом топике я предлагаю 3 довольно базовые задачи на сообразительность. Для начинающих программистов (вероятно, для совсем начинающих, а-ля школа, потому что для настоящего программиста слишком банально). Или, возможно, для собеседования, но для проверки конкретно одного узкого аспекта: насколько человек может вообще принимать решения самостоятельно, а не передирать и подправлять под себя.
Читать дальше →
Всего голосов 27: ↑10 и ↓17-7
Комментарии42

0b1001 путей решения задачи перевода чисел в римскую запись

Время на прочтение5 мин
Количество просмотров59K
image

Привет друзья. Вот вам простенькая задачка. Как бы вы перевели арабские числа в римские используя Python? Правда с одним условием — числа не могут быть больше чем 4000.

Я думаю это должно быть просто, но позвольте я вам покажу вам серию интересных решений и не тривиальных подходов:
Читать дальше →
Всего голосов 24: ↑23 и ↓1+22
Комментарии11

Прохождение квеста от mail.ru

Время на прочтение5 мин
Количество просмотров23K
Под катом описание того, как я прошел квест от mail.ru (квест). Если не хотите портить впечатление от квеста, не ходите под кат.
Прохождение
Всего голосов 29: ↑25 и ↓4+21
Комментарии36

Истории

«Правда, чистая правда и статистика» или «15 распределений вероятности на все случаи жизни»

Время на прочтение15 мин
Количество просмотров244K
Статистика приходит к нам на помощь при решении многих задач, например: когда нет возможности построить детерминированную модель, когда слишком много факторов или когда нам необходимо оценить правдоподобие построенной модели с учётом имеющихся данных. Отношение к статистике неоднозначное. Есть мнение, что существует три вида лжи: ложь, наглая ложь и статистика. С другой стороны, многие «пользователи» статистики слишком ей верят, не понимая до конца, как она работает: применяя, например, тест Стьюдента к любым данным без проверки их нормальности. Такая небрежность способна порождать серьёзные ошибки и превращать «поклонников» теста Стьюдента в ненавистников статистики. Попробуем поставить точки над i и разобраться, какие модели случайных величин должны использоваться для описания тех или иных явлений и какая между ними существует генетическая связь.
Читать дальше →
Всего голосов 39: ↑36 и ↓3+33
Комментарии29

Инструменты Intel для оптимизации приложений и задача о течениях в пористых средах

Время на прочтение31 мин
Количество просмотров12K
Современные компьютерные системы, от обычного ноутбука до вычислительного кластера, рассчитаны на параллельную обработку данных. Поэтому, чем полнее программы задействуют эту возможность, тем больше у них шансов раскрыть потенциал существующих аппаратных решений. Однако, прежде чем переходить к параллельной схеме исполнения кода, этот код должен максимально эффективно работать в однопоточном режиме. Иначе увеличение числа потоков не даст ожидаемого роста производительности.

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



Здесь мы рассмотрим методику оптимизации вычислений, связанных с моделированием течений многофазных жидкостей в пористых средах по методике, предложенной в этой работе. Речь идёт о численном методе решения дифференциальных уравнений гиперболического типа в частных производных.
Читать дальше →
Всего голосов 40: ↑39 и ↓1+38
Комментарии11

CIKM Cup 2016 – международное соревнование в области Data Science

Время на прочтение6 мин
Количество просмотров4.2K
Big Data наступают по всем фронтам — их роль растёт в науке, бизнесе, медицине, управлении безопасностью и в экономике. Поэтому каждая из сфер готова на на шутку бороться за лучшие умы специалистов. Среди самых удачных попыток найти самых-самых — важнейшее мировое соревнование в области анализа данных CIKM Cup 2016, который проходит в рамках 25-ой международной конференции CIKM Conf. 2016. Российская технологическая компания DCA, специализирующаяся на работе с большими данными и высоконагруженными системами, на этот раз стала партнером конференции и соревнования. DCA сформировала задачу, которую предстоит решить участникам CIKM Cup 2016, а также обеспечила необходимым набором данных для анализа. Хотите узнать немного больше о задаче и попробовать силы в соревнованиях Data Scientist — вам под кат. Кому как не нам знать, насколько сильны российские специалисты в сфере обработки данных.


Мы ищем своих Брюсов Уиллисов.
Читать дальше →
Всего голосов 20: ↑19 и ↓1+18
Комментарии5

Syncookied — OpenSource ddos protection system

Время на прочтение10 мин
Количество просмотров17K
Когда в нашей компании LTD BeGet встала задача прозрачной фильтрации атак на 4 уровне модели OSI, мы написали свое решение Syncookied. Данным решением мы бы хотели поделиться с Internet-сообществом, так как на текущий момент аналогов ему мы не нашли (или мы о них не знаем). Есть платные решения на подобии Arbor, F5, SRX, но стоят они совершенно других денег и в них используются другие технологии защиты.

Почему для разработки мы выбрали язык Rust и фреймворк NetMap, с какими сложностями мы столкнулись в процессе — будет рассказано в этой статье.

» GitHub
» GitHub модуль ядра
» Страница проекта


Читать о Syncookied
Всего голосов 48: ↑45 и ↓3+42
Комментарии13

Сложный квест для хабравчан: 25 уровней

Время на прочтение1 мин
Количество просмотров105K


Всем привет, меня зовут Влад, я программист в Mail.Ru Group. В 2010 году я делал квест для хабраюзеров и его прошло более 10 тысяч человек. На этот день программиста я решил сделать что-то похожее, но немного не успел: усложнял квест и не смог остановиться. (-:

Решать головоломку здесь: puzzle.mail.ru

Призы! Первому, кто ответит на все 25 вопросов, мы подарим Raspberry Pi 3 от DIY-сообщества Mail.Ru Group. Еще есть промежуточный приз: тот, кто первым пройдет 15-й уровень, получит от меня инвайт на Хабр.
Читать дальше
Всего голосов 123: ↑115 и ↓8+107
Комментарии716

Домашний алгоритм разбиения на слова (c картинками)

Время на прочтение3 мин
Количество просмотров9.7K
В этой статье я расскажу и покажу свой способ сегментации строк на слова. Если вам не интересна жизнь сибиряка в тропиках, можете смело пропускать вступление.

image
Читать дальше →
Всего голосов 34: ↑32 и ↓2+30
Комментарии12

Вычисление 1000000 знаков числа Пи. На iPhone

Время на прочтение8 мин
Количество просмотров77K
Математика — весьма интересная и занимательная наука, особое место в которой занимает вычисление числа Pi. История его вычисления занимает более 2х тысячелетий, а точность вычисления колеблется от 256/81 в древнем Египте и 339/108 в Ведах, до Джамшида ал-Каши, вычислившего 16 знаков в 15м веке. Чего стоит хотя бы история Вильяма Шенкса, который потратил 20 лет на вычисление 700 знаков числа Пи, но уже потом выяснилось, что во второй части расчетов он ошибся… Но текст в общем-то не об этом, а об алгоритмах. Стало интересно, можно ли вычислить Пи на iPhone? И если да, то с какой точностью?


Можно сказать сразу — миллион не предел. Можно и больше. Подробности и реализация под катом.
Читать дальше →
Всего голосов 47: ↑38 и ↓9+29
Комментарии33

Математика на пальцах: давайте посчитаем хотя бы один ряд Фурье в уме

Время на прочтение6 мин
Количество просмотров87K

Нужно ли вам читать этот текст?


Давайте проверим. Прочтите следующее:

Тригонометрическим рядом Фурье функции  называют функциональный ряд вида



где







Страшно, но всё же хочется понять, что это значит?


Значит, вам под кат. Постараюсь формул не использовать.
Читать дальше →
Всего голосов 86: ↑76 и ↓10+66
Комментарии99

Музыка, Mathematica и вычислительная вселенная: автоматическое создание музыки на основе клеточных автоматов

Время на прочтение8 мин
Количество просмотров13K

Перевод поста Стивена Вольфрама (Stephen Wolfram) "Music, Mathematica, and the Computational Universe" о замечательном ресурсе WolframTones, работа которого была недавно возобновлена на новой площадке Wolfram Cloud (сайт, созданный в 2005 г., был недоступен пару лет, так как использовал не поддерживаемые современными браузерами решения).
Выражаю огромную благодарность Кириллу Гузенко за помощь в переводе.


Насколько сложно создать человеческую музыку? Такую, чтобы пройти музыкальный аналог теста Тьюринга?

Хотя музыка обычно имеет определенную формальную структуру, что отмечали пифагорейцы ещё 2500 лет назад, по своей сути она весьма человечна: отражение чистого творчества, которое есть суть определяющая характеристика человеческих способностей.

Но что есть творчество? Это то, что было необходимо в течение всей биологической и культурной эволюции? И может ли оно также существовать в системах, которые не имеют ничего общего с людьми?

В своей работе над книгой Новый вид науки (A New Kind of Science) я исследовал вычислительную вселенную возможных программ и обнаружил, что даже очень простые программы могут показывать поразительно богатый и сложный характер, наравне, например, с тем, что можно встретить в природе. И, опираясь на разработанный принцип вычислительной эквивалентности, я пришел к убеждению, что не может быть ничего, что принципиально отличает наши человеческие способности от любых процессов, которые происходят в природе, или даже в очень простых программах.

Но что можно сказать о музыке? Некоторые люди, выступая против принципа вычислительной эквивалентности, в качестве аргумента использовали свою веру в то, что "не могут существовать простые программы, которые смогут произвести серьёзную музыку".

И мне стало любопытно: действительно ли музыка есть что-то особенное и исключительно человеческое? Или всё таки её можно прекрасно создавать автоматически, с помощью вычислений?
Читать дальше...
Всего голосов 26: ↑23 и ↓3+20
Комментарии3

Ближайшие события

Не Персеидами едиными или Моделируем вспышки спутников своими руками

Время на прочтение20 мин
Количество просмотров8.5K

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



Вспышка Иридиума, первое фото своими руками – навелся не туда, затвор открыл поздно, горизонт завалил :)

Читать дальше →
Всего голосов 42: ↑41 и ↓1+40
Комментарии17

Пишем ХабраКвест на ASP.NET Core и Angular2

Время на прочтение8 мин
Количество просмотров34K
Каждый раз с выходом нового фреймворка, хочется попробовать его в деле и написать на нем какое-то приложение. В прошлый раз отлично зашел формат квеста. По этому предлагаю посмотреть что поменялось за почти полтора года и написать еще один квест— и фреймворки посмотрим, и поиграть можно.
Результат:
сорсы на гитхабе для тех, кому интересно посмотреть на исходники
линк на квест для тех, кому интересно что получилось или потратить свое время на еще один логический квест.

Под катом описан полный процесс от создания проекта до его развертывания.
Читать дальше →
Всего голосов 39: ↑34 и ↓5+29
Комментарии63

Даты среди цифр числа Пи: некоторые мысли с позиции статистики и нумерологии

Время на прочтение11 мин
Количество просмотров24K

Перевод поста Майкла Тротта (Michael Trott) "Dates Everywhere in Pi(e)! Some Statistical and Numerological Musings about the Occurrences of Dates in the Digits of Pi".
Код, приведенный в статье, можно скачать здесь.
Выражаю огромную благодарность Кириллу Гузенко KirillGuzenko за помощь в переводе и подготовке публикации

Содержание
Получим все даты за последние 100 лет
Найдём все даты в цифрах числа пи
Статистика всех дат
Первые появления дат
Даты в других представлениях и других константах
В недавнем своём посте (см. перевод поста "3/14/15 9:26:53 Празднование «Дня числа Пи» века, а также рассказ о том, как получить свою очень личную частичку числа пи" на Хабре) Стивен Вольфрам писал об уникальном положении векового дня числа пи и представил разные примеры содержания дат в цифрах числа пи (здесь и далее — в десятичном представлении). В этом посте я рассмотрю статистику распределений всех возможных дат за последние 100 лет в первых 10 миллионах цифр числа пи. Мы увидим, что 99,998% цифр представляют собой какую-то дату, и что можно обнаружить миллионы дат в первых десяти миллионах цифр числа пи.

Я сосредоточусь на датах, которые могут быть заданы не более чем шестью цифрами. То есть я смогу одназначно задавать даты в промежутке длительностью в 36 525 дней, начиная с 15 марта 1915 года и заканчивая 14 марта 2015 года.
Читать дальше о датах в цифрах числа Пи...
Всего голосов 30: ↑25 и ↓5+20
Комментарии22

Кем был Рамануджан?

Время на прочтение38 мин
Количество просмотров104K

Перевод поста Stephen Wolfram "Who Was Ramanujan?".
Выражаю огромную благодарность Полине Сологуб за помощь в переводе и подготовке публикации

Содержание


Удивительное письмо
Начало истории
Кем был Харди?
Письмо и его последствия
Стиль работы Рамануджана
Видеть то, что важно
Истина или объяснение
Переход в Кембридж
Рамануджан в Кембридже
Что было дальше
Что стало с Харди?
Математика Рамануджана
Факты — случайные или нет?
Автоматизация работ Рамануджана
Современные Рамануджаны?
Что было бы, если бы у Рамануджана была Mathematica?
На этой неделе вышел фильм "Человек, который познал бесконечность" (который мне показали еще прошлой осенью Манджул Бхаргава и Кен Оно), так что я не мог не написать о его главном герое — Сринивасе Рамануджане.



Удивительное письмо


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

Около 31 января 1913 года математик по имени Харди из Кембриджа, Англия, получил пакет документов с сопроводительным письмом, которое начиналось так: "Дорогой сэр, хочу представиться вам: я клерк из бухгалтерии порта в Мадрасе с зарплатой £20 в год. Мне 23 года....». И продолжал: писал о том, что достиг «поразительного» прогресса в теории расходящихся рядов по математике и решил давнишнюю проблему распределения простых чисел. Сопроводительное письмо заканчивалось словами: "Я беден; если вы решите, что здесь есть что-нибудь ценное, я хотел бы, чтобы мои теоремы были опубликованы… Я неопытен, и любые ваши советы ценны для меня. Прошу извинить меня за доставленные неудобства. Искренне ваш, с уважением, С. Рамануджан".
Читать дальше о Рамануджане...
Всего голосов 86: ↑79 и ↓7+72
Комментарии58

Доказываем корректность поиска диаметра дерева

Время на прочтение3 мин
Количество просмотров12K
Однажды на зачете мне попалась следующая задача. Придумайте алгоритм, находящий две вершины дерева с максимальным расстоянием друг от друга, и докажите его корректность. В тот момент я в принципе не знала, что у деревьев есть диаметр, радиус и много прочих вещей. Уже после зачета друг просветил меня, рассказав, что это за алгоритм, но без доказательства. Именно вопросом о доказательстве долгое время была забита моя голова. После прочтения нескольких статей, стало понятно, что материал не уляжется, пока самостоятельно себе не объясню все практически на пальцах (может, и читателю придется по вкусу). Перейдем от демагогии к сути.

Диаметр дерева — это максимальное расстояние между двумя вершинами в дереве. Алгоритм поиска состоит в двух запусках BFS. Первый идет от произвольной вершины дерева, во время обхода насчитываются расстояния от текущей вершины до всех других. Затем из них выбирается самая удаленная. Из нее делается второй запуск BFS. Насчитываются новые расстояния. Максимальное среди них и будет диаметром.

Почему этот простой с виду алгоритм работает корректно?
Читать дальше →
Всего голосов 14: ↑11 и ↓3+8
Комментарии10

Пасхалка в Mr Robot S02E01

Время на прочтение4 мин
Количество просмотров122K


В конце первой серии второго сезона Mr Robot есть сцена, где Дарлин генерирует троян-вымогатель с помощью модифицированного фреймворка SET (Social Engineer Toolkit). Мои пальцы просто зудели, чтобы попробовать IP-адрес 192.251.68.254, где вроде как располагается управляющий сервер трояна. Неудивительно, что WHOIS показал на владельца NBC-UNIVERSAL. Посмотрим, насколько глубока кроличья нора.
Читать дальше →
Всего голосов 86: ↑79 и ↓7+72
Комментарии150

IaaS и наука: Как это работает. Часть 2

Время на прочтение5 мин
Количество просмотров3.7K


/ фото Matteo Bagnoli CC

В прошлый раз мы начали рассказывать о влиянии IaaS-технологий на различные научные сферы деятельности. Добро пожаловать во вторую часть поста, где мы поговорим о том, как облачные вычисления помогают проводить исследования в биологии, генетике, географии и медицине.
Читать дальше →
Всего голосов 10: ↑9 и ↓1+8
Комментарии0

Вклад авторов