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

Большое спасибо всем участникам конкурса по программированию! Приём решений ещё не закончен, но в полночь на 17 июля мы взяли тот набор решений, который был на тот момент, и провели между ними мини-турнир. В него попали 82 решения.

Но сначала — несколько объявлений.

Конкурс продлевается на неделю

Срок приёма решений продлевается до 27 июля 2018, 23:59:59 UTC. Также на неделю вперёд сдвигаются сроки, в которые будут объявлены результаты конкурса. Мы продлили конкурс для того, чтобы улучшить охват в сезон отпусков.
Читать полностью »

Привет! Мы обожаем квизы, посвященные языкам программирования. В нашем блоге мы разместили уже целых три: первый — по Python, PHP, Golang, DevOps, второй — полностью по Go, третий — только по PHP. Сегодняшний квиз посвящен исключительно Python.

Предлагаем вам размяться в честь конца ещё одной летней недели и в преддверии PyCon Russia 2018. (Кстати, кто едет? Мы там будем).

Под катом — семь вопросов, советы от друга, Чапаев, отрывки из ABBA (что? да!) и крутой мерч.

Разминка для тех, кто умеет в Python - 1

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

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


Отображение $f:Erightarrow E$ метрического пространства с метрикой $rho (cdot ,cdot )$ называют изометрией, если для любых $x,yin E$ справедливо равенство $rho (x,y)=rho (f(x),f(y))$. Мы докажем здесь следующее утверждение:

Теорема. Если $f:Erightarrow E$ отображение компактного метрического пространства в себя, такое что

$rho (x,y)leq rho (f(x),f(y))(1)$

для любых $x,yin E$, то отображение $f$ — изометрия.

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

Через $|A|$ будем обозначать количество элементов конечного множества $A$.

Для $xin E$ и $varepsilon >0$ множество $Q_{x,varepsilon }={y:yin E,rho (x,y)<varepsilon }$ назовем $varepsilon$-окрестностью точки $x$ (или открытым шаром с центром в точке $x$ и радиусом $varepsilon$).

Конечное множество $Asubset E$ назовём $varepsilon$-сетью в $E$ (или просто $varepsilon$-сетью), если для любой точки $xin E$ найдётся точка $yin A$ такая, что $rho (x,y)<varepsilon$. Множество $Bsubset E$ назовём $varepsilon$-разреженным, если $rho (x,y)geq varepsilon$ для любых $x,yin B$, таких, что $xneq y$.

Для любого конечного множества $A=left{a_1,ldots ,a_mright}subset E$ обозначим через $l(A)$ сумму $sum _{ileq j} rho left(a_i,a_jright)$. Величину $l(A)$ назовём длиной множества $A$.
Читать полностью »

Представляю на суд читателей Хабра неупорядоченные главы из своей книжки «Теория счастья» с подзаголовком «Математические основы законов подлости». Это ещё не изданная научно-популярная книжка, очень неформально рассказывающая о том, как математика позволяет с новой степенью осознанности взглянуть на мир и жизнь людей. Она для тех кому интересна наука и для тех, кому интересна жизнь. А поскольку жизнь наша сложна и, по большому счёту, непредсказуема, упор в книжке делается, в основном, на теорию вероятностей и математическую статистику. Здесь не доказываются теоремы и не даются основы науки, это ни в коем случае не учебник, а то, что называется recreational science. Но именно такой почти игровой подход позволяет развить интуицию, скрасить яркими примерами лекции для студентов и, наконец, объяснить нематематикам и нашим детям, что же такого интересного мы нашли в своей сухой науке.

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

Теория счастья. Закон арбузной корки и нормальность ненормальности - 1

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

Около месяца назад я придумал и опубликовал на Reddit головоломку, которую, вероятнее всего, до сих пор никто не разгадал (иначе я, скорее всего, узнал бы об этом):

Головоломка под названием «0x712» (GIF-анимация с белыми точками на чёрном фоне) - 1
0x712

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

Проверка временем: Timejacking против Bitcoin - 1

В конкурсе на самое популярное слово года призером IT-сферы наверняка бы стало слово «блокчейн». Несмотря на то, что идет нездоровая тенденция активно внедрять его куда угодно — в медицину, экономику, Интернет вещей, разведение кроликов и производство пирожков, основной сферой применения блокчейна по-прежнему остаются криптовалюты. А всем известно: виртуальные кошельки хакерам — как котику сметанка.

В этой статье мы рассмотрим атаку «Timejacking», основанную на уязвимости в обработке временных меток блоков в системе криптовалюты Bitcoin, и попытаемся объяснить, почему атака есть, а ее успешной реализации нет.

P.S. Тут будет много производных от слова «время». Очень много.
Читать полностью »

Привет! Обещали — делаем: продолжаем серию мини-квизов, посвященных разным языкам программирования в нашем блоге (предыдущие: 1 (на знание Python, PHP, Golang и DevOps), 2 (полностью по Go)). Сегодняшний выпуск посвящён PHP.

Под катом — восемь вопросов, немного приключений программиста Брэда, одна странная последовательность и клёвый мерч в качестве призов. Квиз проходит до 4 июля.

Пятничная PHP-викторина: немного приключений программиста Брэда, одна странная последовательность и призы - 1
Читать полностью »

23 июня 2018 года состоялся финал ML-Блица, конкурса по машинному обучению, организованного Яндексом. Ранее мы анонсировали его на Хабре и рассказывали, какие примерно задачи могут встретиться на реальном соревновании.

Теперь мы хотим поделиться с вами разборами задач одного из квалификационных раундов — самого первого. Двое участников сумели решить все задачи этого соревнования; 57 участников решили хотя бы одну задачу, а 110 совершили хотя бы по одной попытке сдать задание.

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

Самым популярным языком программирования среди участников соревнования ожидаемо оказался python, поэтому я также использовал именно этот язык во всех случаях, когда требовалось написать код.

Все мои решения доступны на GitHub

image

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

Компания Hola вновь объявляет конкурс по программированию! Победителей ожидают призы:

  1. Первое место: 3000 USD.
  2. Второе место: 2000 USD.
  3. Третье место: 1000 USD.
  4. Жюри может присудить по своему усмотрению специальный приз в 400 USD.
  5. Если Вы отправите кому-то ссылку на этот конкурс, поставив наш адрес в CC, и этот человек займёт призовое место, Вы получите половину суммы приза (разумеется, не в ущерб награде победителя). За одного победителя такую награду может получить только один человек — тот, кто отправил ссылку первым.

Авторы интересных решений будут приглашены на собеседования.

Конкурс по программированию: Торговля - 1

Правила

Условия конкурса на английском языке размещены на GitHub. Ниже — перевод на русский язык.

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

Насколько хорошо ты знаешь bash? - 1
Пользуешься командным интерпретатором каждый день? Готов решить несколько логических задачек и узнать что-то новое? Добро пожаловать под кат.
Читать полностью »