В статье рассказывается об одной статистической закономерности, объяснение которой приведет к интересным задачам как прикладного, так и чисто теоретического характера.
(Первые цифры площадей стран, записанных в десятичной записи)
В статье рассказывается об одной статистической закономерности, объяснение которой приведет к интересным задачам как прикладного, так и чисто теоретического характера.
(Первые цифры площадей стран, записанных в десятичной записи)
В ответ на это решение, хотелось бы указать своё, несколько более простое к восприятию.
Читать полностью »
Тема игры «Жизнь», не раз поднималась на хабре. Описывались различные модификации игры, я хочу представить еще одну. Модификация игры довольно тривиальна, но дает больше возможности в наблюдении, чем оригинал.
В классических правилах придуманных Джоном Конвеем, каждая клетка игрового поля, может быть только в двух состояниях: либо клетка пуста, либо заполнена фишкой.
Подобно эволюции в природе, где развитие шло от одноклеточных к многоклеточным, логично представить развитие игры «Жизнь», где в клетке может находиться больше одной фишки.
Читать полностью »
Интерпретатор Lisp на python в одну строчку? Слишком скучно.
Японский программист, инженер Google Shinichiro Hamaji написал его на sed. Sed — потоковый текстовый редактор, представляющий из себя простой язык программирования. В нем нет переменных, есть только примитив GOTO и выполняющие ветвление функциональные возможности; тем не менее он обладает полнотой по Тьюрингу.
Реализация занимает всего 600 строчек.
Выглядит это примерно так:
Читать полностью »
Читая главу «Двоичные деревья» из книги Джона Монгана Programming Interviews Exposed я задумался о том, как чаще всего рекурсию объясняют начинающим программистам: через сортировку, обход двоичного дерева, построение последовательности Фибоначчи и т.д. Неужели нельзя найти пример поинтереснее? Из закоулков сознания вырвался Лисп, который по своей природе неотделим от понятия рекурсии. Более того, небольшой интерпретатор Лиспа — отличный пример для исследования рекурсии.
Каким же будет минимальный интерпретатор Лиспа, написанный на Питоне? К моему удивлению, решение уложилось в семь строк! Свою роль в этом сыграла как выразительность Питона, так и красота и незамысловатость Лиспа.
Читать полностью »
13 лет назад английский подросток Адам Батчер (Adam Butcher) пришёл домой с премьеры «Властелина колец» и твёрдо решил, что должен сделать игру, в которой реализует всё то, чего не хватает во всех остальных глупых играх. Там должны быть приключения и головоломки, настоящий сюжет и борьба со злом.
Парню было 14 лет, он как раз освоил популярную программу Multimedia Fusion — и в тот же день взялся за дело, нарисовал главного персонажа Тобиаса и объект № 1 — меч.
Не секрет, что любая профессия обрастает неким количеством мифов, которые кажутся убедительными для тех, кто далёк от темы. В IT одной из самых мифологизированных стала профессия программиста. Мы собрали все известные нам мифы о программистах и проверили их на правдивость. Для этого провели опрос среди технических специалистов нашей компании (78% из которых программисты) о том, какого стиля жизни они придерживаются.
Читать полностью »
Часто за собой замечаю, что при виде какой-нибудь программы, игры или сайта у меня возникают странные мысли. И мысли эти меня пугают. А думаю я всякий раз о том, как эту программу/сайт/игру можно подхачить, взломать, обойти защиту, автоматизировать, расширить функциональность. Наверное, профессиональная деформация дает о себе знать. Или это подсознательное желание использовать накопленные знания, не находящие применения на работе. Как правило, эти желания остаются на уровне мыслей, но бывают исключения. Об одном таком случае я и расскажу вам сегодня…
Сотрудник Microsoft Алекс Горишек (биолог по образованию) выложил на Vimeo любопытное видео, в котором он демонстрирует работу основных логических вентилей компьютера (NOT, AND, OR, XOR, NAND и т.д.) с помощью системы тросиков и противовесов. В качестве стенда для своей демонстрации он использовал шахматную доску. Слева расположены входы вентилей, справа — выход. Получилось весьма наглядно, такой стенд не помешал бы в школе на уроках информатики: