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

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

Свободу зависимым переменным - 1

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

Недавно очередной раз отработал со студентам 2-го курса 2-семестровую дисциплину «Алгоритмические языки». Обзорно рассмотрели несколько дюжин языков программирования. Один из студентов, Вадим Шукалюк, захотел получше с ними познакомиться, получить более четкое представление о каждом из них. Посоветовал ему провести небольшое исследование. Чем и увлёк. Предлагаю свой отчёт по проделанной за несколько месяцев вместе с ним работе.

У каждого языка программирования есть свои достоинства и недостатки. Одна из важнейших характеристик транслятора с любого языка — это скорость исполнения программ. Очень трудно или даже невозможно получить точную оценку такой скорости исполнения. Ресурс http://benchmarksgame.alioth.debian.org/ предлагает игровую форму для проверки такой скорости на разных задачах. Но число языков, представленных на этом ресурсе, довольно невелико. Предельную ёмкость стека, критическую величину для рекурсивных вычислений проверить проще, но она может меняться в разных версиях транслятора и быть зависимой от системных настроек.

Тестировались следующие трансляторы: си (gcc, clang, icc), ассемблер (x86, x86-64), ява (OpenJDK), паскаль (fpc), яваскрипт (Google Chrome, Mozilla Firefox), лисп (sbcl, clisp), эрланг, хаскель (ghc, hugs), дино[1], аук (gawk, mawk, busybox), луа, рубин, бейсик (gambas, libre office), питон-2, пи-эйч-пи, постскрипт (gs), пролог (swipl, gprolog), перл, метапост, ТEХ, тикль, бэш. Исследовались как собственно скорость исполнения нескольких небольших, но трудоёмких алгоритмов, так и:

  • качество оптимизации некоторых трансляторов;
  • особенности при работе с процессорами Intel и AMD;
  • предельное число рекурсивных вызовов (ёмкость стека).

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

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

Недавно Стивен Вольфрам анонсировал сервис Wolfram Data Drop, который является отличным инструментом для загрузки любых типов данных с любого устройства. Я покажу как можно использовать Wolfram Data Drop с самодельной метеостанцией, для создания которой нам понадобятся лишь простое железо и несколько строчек кода. Эта метеостанция будет производить измерения температуры каждую секунду, и каждую минуту производить выгрузку среднего за эту минуту значения в Wolfram Data Drop. Таким образом, будет получаться 60 точек на графике температура– время каждый час, 1440 точек в сутки. Используя эти данные и Wolfram Programming Cloud, можно изучать изменения температуры с течением времени. К примеру, можно выяснить, сколько раз за день температура достигала определённых минимальных и максимальных значений, когда температура изменялась наиболее быстро. С помощью этих данных можно даже составлять прогнозы. Быть может, у кого-то даже получится сделать более точные предсказания, чем у местной метеостанции!

Build-Your-Own-Weather-Station-in-a-Snap-with-the-Wolfram-Cloud_1.png
Читать полностью »

Иглобрюх и дары «Жизни» - 1

Многие программисты, по крайней мере моего поколения, знают игру «Жизнь», правила которой были предложены британским математиком Джоном Конвеем (John Conway) в 1970 году. Но что знают немногие, так это то, что она до сих пор активно развивается и радует новыми открытиями. Историей одного из таких открытий я хочу поделиться в этой статье.Читать полностью »

3-14-15 9:26:53 Празднование «Дня числа Пи» века, а также рассказ о том, как получить свою очень личную частичку числа пи - 1

Перевод поста Стивена Вольфрама (Stephen Wolfram) "Pi or Pie?! Celebrating Pi Day of the Century (And How to Get Your Very Own Piece of Pi)"
Выражаю огромную благодарность тем, кто помог мне сделать этот перевод: Курбану Магомедову и Ольге Лавренюк.

Эта суббота будет «Днем числа Пи» века. Дата 3/14/15 в формате месяц/день/год задает первые цифры числа π=3.1415… А 9:26:53.589… утра будет «супер моментом дня числа Пи».

3-14-15 9:26:53 Празднование «Дня числа Пи» века, а также рассказ о том, как получить свою очень личную частичку числа пи - 2

Благодаря Mathematica и Wolfram|Alpha, я уверен, что наша компания выдала миру больше раз число π, чем какая-либо другая организация в истории. Поэтому, конечно, мы должны сделать нечно особенное (мероприятие SXSW) для этого особенного Дня числа Пи.

3-14-15 9:26:53 Празднование «Дня числа Пи» века, а также рассказ о том, как получить свою очень личную частичку числа пи - 3


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

Открыта регистрация на NeoQUEST-2015: «Сокровища масонов» - 1 10 марта стартует online-этап ежегодного хакерского соревнования NeoQUEST-2015! Соревнование продлится неделю, с 10 по 17 марта. В этот раз участникам придется поломать голову над загадочными тайнами масонов и найти их сокровища (увы, виртуальные). Однако призы за найденные богатства самые что ни на есть реальные. Победители приглашаются на очный этап летнего NeoQUEST-2015 в Питере, где смогут побороться за ставший уже традиционным главный приз — возможность поехать на одну из международных конференций по кибербезопасности!

Регистрация открыта здесь. Под катом — о технической направленности заданий NeoQUEST, неожиданной «изюминке» 2015 года, порядке прохождения заданий и о призах.
Читать полностью »

Влезаем в компьютер, не используя средства ввода, ищем Джокера и коннектимся к серверу на Android — в заданиях NeoQUEST-2014! - 1

Совсем скоро стартует отборочный тур NeoQUEST-2015, и в качестве подготовки к нему предлагаем вместе с нами разобрать задания очного тура NeoQUEST-2014! Мы уже рассказали, как прошел NeoQUEST-2014, поделились материалами докладов и фотографиями (возможно, на них кто-то даже нашел себя!). Теперь расскажем о той таинственной и скрытой от глаз зрителей, но важнейшей части NeoQUEST — соревновании специалистов по кибербезопасности, оказавшихся лучшими по итогам февральского онлайн-тура.

Очная ставка для участников включала в себя 5 заданий, однако одно из них не прошел никто. В этой статье разберем пройденные четыре:

  • «Am I Joker?» — занимаемся конкурентной разведкой, применяя всю информацию о пользователе, которую удалось достать из соцсетей, выходим на сторонний сайт и эксплуатируем его уязвимость;
  • «Неожиданная находка» — есть компьютер и флешка, но нет ни мышки, ни клавиатуры? Не беда, ведь флешка не простая, а с SecureDrive, и один из ее разделов компьютер может определить как компакт-диск;
  • «Глазам своим не верь ты» — как найти на компьютере вредоносную программу, скрывающую свою сетевую активность, а заодно и файлы на диске?
  • «Кадры решают все» — коннектимся к веб-серверу, который неожиданно оказывается поднят на телефоне с ОС Android, и формируем специальный jar, чтобы получить ключ.

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

С статье "Алгоритм формирования кроссвордов" были предложены несколько эвристик, которые были реализованы в программе автоматической генерации кроссвордов. Несмотря на то, что предложенные эвристики хорошо проработаны, даже они не позволили за разумное время сгенерировать кроссворд для самой сложной из приведенных сеток:

image
Этот и все последующие рисунки взяты из исходной статьи

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

Предлагаю читателям «Хабрахабра» перевод публикации «100 Prisoners Escape Puzzle», которую я нашел на сайте компании DataGenetics. Все ошибки по данной статье присылайте, пожалуйста, в личные сообщения.

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

Математическая задача о 100 коробках и спасении заключенных - 1
Читать полностью »


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