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

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

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

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

Байты в солёной воде и передача сообщений через жидкость по стандарту RS-485

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров6.8K
image

Здравствуйте, дорогие друзья!

С школьных лет мы знаем, что вода является проводником электрического тока. При этом дистиллированная вода не проводит ток, а вода с примесями — прекрасно проводит.

Я провёл эксперимент, в котором нет ничего необычного, но он наглядно показывает, что вода способна передавать и осмысленные сигналы, например данные в ASCII-кодах. Мы будем использовать ретротехнику — компьютеры на процессорах 386, но повторить суть эксперимента можно и на современном оборудовании.

Это небольшой пример, который напоминает нам о том, что вода электропроводна.

Под катом — фото и видео составляющих эксперимента и пояснения.
Читать дальше →

SQL HowTo: простой финал с агрегатами (Advent of Code 2024, Day 25: Code Chronicle)

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров935

В этой челлендж-серии статей попробуем использовать PostgreSQL как среду для решения задач Advent of Code 2024.

Возможно, SQL не самый подходящий для этого язык, зато мы рассмотрим его различные возможности, о которых вы могли и не подозревать.

Сегодняшней статьей с простым использованием агрегирующих функций завершаем цикл. В итоге, PostgreSQL показал себя как очень удобное средство для решения разных алгоритмических задач, лишь несколько раз заставив нас изобретать совсем уж нетипичные подходы к написанию SQL-запросов.

Читать далее

Excel, будь ты проклят: “1/2”+1=45660

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

Пишу этот текст совершенно без намерения оскорбить авторов Excel. Это фантастически успешный софт, который по праву считается золотым стандартом среди табличных редакторов. Тем не менее, в этом году Excel уже стукнуло 40. В таком почтенном возрасте его семантика всерьёз страдает из-за костылей, которые накапливались не один десяток лет, обеспечивая обратную совместимость.

Одно из самых интересных дел, которыми мне приходится заниматься на работе — это обратная разработка Excel. Я выискиваю причуды в его поведении и решаю, как поступать с ними в нашем фирменном табличном редакторе. Благодаря моему повседневному труду, наши пользователи, возможно, и не подозревают, сколько недокументированных грехов совершила Microsoft ради совместимости. Приглашаю вас одним глазком взглянуть на те ужасы, с которыми мне приходится тягаться — и тогда вы тоже станете бояться Microsoft Excel — не потому, что чего-то не знаете, а наоборот, так как знаете слишком много.

Читать далее

Хеш-таблица и C++20

Уровень сложностиСложный
Время на прочтение6 мин
Количество просмотров7.7K

Рассматриваем различные «приколюхи» из C++20 на примере хеш‑мапы!

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

Читать далее статьи от @SEIka69

Логическая головоломка из университетского квеста

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров2.4K

"Параллельные Измерения" — одна из интересных головоломок игры Puzzle Hunt Мельбурнского Университета 2014 года. Она была последней в заключительном пятом акте игры и предшествовала финальному мета-заданию.

Читать далее

Конкатенация чисел и делимость на 13 — задачка от Клайва Фрэйзера

Время на прочтение3 мин
Количество просмотров935

Дан массив с числами, в десятичном представлении - из них можно удалить какие-то, а то что осталось конкатенировать. Для N чисел это даёт 2^N-1 возможных результатов (нельзя удалить все числа) - и нам интересно сколько из этих результатов делятся нацело на 13.

Для маленьких массивов можно написать простой перебор, но автор предлагает N=400000 - у одного из пользователей это сразу вызвало реакцию "2 в степени 400000 - это невозможно перебрать". Действительно, перебором тут не справиться :)

Задача тут - а под катом, поскольку о ней самой уже говорить нечего, я немножко расскажу про автора - это довольно любопытно (и может когда-то я смогу более подробный пост о нём сделать если получу от него самого больше информации).

Таинственный Незнакомец...

Как мы реализовали отказоустойчивый WireGuard в трёх зонах Yandex Cloud

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров8.1K

Расскажем, как мы сделали отказоустойчивый WireGuard-сервер в Yandex Cloud, раскинув его на три зоны доступности. Получилось просто, надёжно и без сложных кластеров.

Мы не рассматриваем настройку самого WireGuard, конфигурацию групп безопасности, настройку VPC, NLB и прочее. Вся логика сосредоточена на том, чтобы обеспечить автоматическое переключение между зонами при сбоях. Сеть VPN-клиентов — 172.28.90.0/24 — должны быть доступна с любой из трёх зон.

Читать далее

Как мы сделали битву разработчиков

Время на прочтение9 мин
Количество просмотров3.7K
image
Вот тут два игрока соревнуются, кто быстрее решит задачу

Вообще-то мы ничего специально не придумывали, как-то всё само получилось с Code Battle. Взяли простую задачу по информатике, добавили мультиплеер, чтобы два разработчика видели код друг друга, и предложили приз тому, кто пройдёт тесты быстрее.

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

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

Можно использовать любой язык из 16 доступных, гуглить в процессе — пожалуйста (если успеете), тырить чужой код и отлаживать у себя быстрее, чем это сделает оппонент, — тоже не проблема.

В итоге получились очень забавные соревнования.
Читать дальше →

SQL HowTo: немного двоичной логики (Advent of Code 2024, Day 24: Crossed Wires)

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров885

В этой челлендж-серии статей попробуем использовать PostgreSQL как среду для решения задач Advent of Code 2024.

Возможно, SQL не самый подходящий для этого язык, зато мы рассмотрим его различные возможности, о которых вы могли и не подозревать.

Рекурсивно вычисляем логические выражения и разбираем устройство двоичного сумматора.

Читать далее

Почему окружность и гипербола — это почти одно и то же? Кривые второго порядка и немного космоса

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

Привет, меня зовут Диана, я математик, а еще пишу для хабраблога МТС. В прошлый раз публиковала задачу про адвент-календарь — спасибо всем, кто решал и комментировал! А сегодня хочу немного рассказать про милый моему сердцу кусочек математики — часть аналитической геометрии, которая повествует о кривых второго порядка.

Кривые второго порядка — это не просто красивые абстракции. Они прочно вплетены в вашу повседневность: параболы помогают сфокусировать сигнал вашего Wi-Fi, гиперболы — определить ваше местоположение, а эллипсы — это орбиты спутников.

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

Читать далее

SQL HowTo: работаем с массивами (Advent of Code 2024, Day 23: LAN Party)

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров1.4K

В этой челлендж-серии статей попробуем использовать PostgreSQL как среду для решения задач Advent of Code 2024.

Возможно, SQL не самый подходящий для этого язык, зато мы рассмотрим его различные возможности, о которых вы могли и не подозревать.

Применяем простые операции над массивами, чтобы определить связность графов.

Читать далее

ChatGPT: как не нужно его использовать

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров42K

Текст выходного дня, что намекает на несерьезность. И да: это – только один из множества сценариев, как не стоит использовать ChatGPT. Среди других и любимая тестировщиками задача по подсчету букв R в слове strawberry. И просить написать стихотворение – тоже так себе идея.

Несколько дней тому назад OpenAI обновила (обновил) работающую под капотом ChatGPT версии 4о модель-генератор изображений, заменив старушку DALL-E 3. Не расстраивайтесь, DALL-E 3 все еще доступна, если вам почему-то захочется к ней вернуться. Новая модель, если верить заявлениям ее создателей, замечательно понимает, что именно от нее хотят, принимая во внимание содержание целого диалога, а не только последнего промпта, аккуратно и точно обращается с текстом. И вообще легка и приятна в общении, то есть в использовании.

Устоять я не смог и вчера вечером вместе с внуком Николаем, парнем 14 лет, с моделью экспериментировали, создавали простую поздравительную открытку на годовщину школы, где учится он и его младший брат.

Читать далее

Создавай, а не решай: мы пошли против мейнстрима и придумали АНТИолимпиаду

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

Как часто на олимпиадах вам казалось, что задания могли бы быть интереснее? Или даже возникала уверенность, что вы бы сделали лучше? Примерно так и появилась идея соревнования, где участники не просто кодят (что мы, безусловно, уважаем), а придумывают интересные задачи разного уровня сложности.

Читать далее

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

«Решаем задачки про ненормальных детей», или Как приблизить математику к реальности

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров3.7K

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

В заголовок статьи вынесено название прошлогоднего чатика (в теперь уже запрещённом для учителей мессенджере, но сейчас не об этом) с моими учениками, причём назвали его так они сами. Так что же не так с героями задач и можно ли с этим что-то поделать?

Давайте разбираться

Rust в режиме «жесть»

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

В этом посте будет разобрано, как написать приложение на Rust с применением самого минимального API, возможности которого искусственно ограничены (например, не применяется динамическое выделение памяти). Предполагается, что читатель немного знаком с языком Rust.

Читать далее

Винтик и Шпунтик — Сhallenge продолжается

Уровень сложностиСредний
Время на прочтение19 мин
Количество просмотров6K

Некоторое время назад я объявил челлендж имени Винтика и Шпунтика. Суть его — в подсчете числа решений задачки, почерпнутой из математической олимпиады для 7 класса. Изначально я рассчитывал на то, что лучшие умы Хабра разберутся с задачей за месяц. Однако с тех пор прошло 10, и не сказать, чтобы обозначились какие-то серьезные прорывы. Но некоторые новые идеи появились. Поэтому сегодня мы подведем промежуточные итоги нашего челленджа, а также разберем некоторые подходы, которые позволяют двигаться вперед в нашем нелегком деле.

Читать далее

SQL HowTo: оконные функции (Advent of Code 2024, Day 22: Monkey Market)

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров2.7K

В этой челлендж-серии статей попробуем использовать PostgreSQL как среду для решения задач Advent of Code 2024.

Возможно, SQL не самый подходящий для этого язык, зато мы рассмотрим его различные возможности, о которых вы могли и не подозревать.

Используем оконные функции, чтобы вычислить "третью производную".

Читать далее

Нужен ли код в книге Занимательных Задач по программированию?

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

Мы с детства знакомы с книжками "Занимательных Задач" - чаще всего, наверное, по математике и быть может физике - но существуют они и во многих других отраслях знаний, вплоть до географии и биологии.

А как же наш любимый программизьм? :) Мне известно не так много примеров. Зачем вообще программисту задачи? Для начинающего актуально, конечно, на них "нарабатывать практику" (или когда уже не новичок но осваивает новый для себя язык программирования) - но не только это. Задачки кроме того дают идеи. Программисты же народ творческий и хотя бы подсознательно постоянно в поиске идей.

Когда на сайте у меня количество задач перевалило за 400, пришло на ум что можно их собрать под одной обложкой - для любителей поразмышлять в отрыве от компьютера. Идея эта однако встала на паузу - но недавно мне о ней напомнили. Коллега с Хабра предположил возможность издания подобной книжки на русском языке.

Один из вопросов по которому мы не нашли пока консенсуса - размещение в подобной книжке "решений". Поэтому обращаюсь за помощью к общественности, к коллегам-айтишникам в первую очередь - ниже будет немного подробностей и примеров задач, по разделам - и опрос, насчет того в каком виде нужны (или не нужны) эти самые решения.

Что ж, давайте посмотрим...

Исповедь нигилиста

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров5.8K

Я приклеил коробочку на подоконник, поставил на ней столбик из графита и начал отмечать раз в месяц точки тени от столбика (раз в час), фиксируя траекторию (тени) солнца.

Докладываю:

а) Она таки вертится
б) Наклон земной оси примерно 23 градуса
в) Мы точно движемся вокруг солнца

Юрий Эдуардович, подробности под катом

SQL HowTo: моделирование против подсчета (Advent of Code 2024, Day 21: Keypad Conundrum)

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров734

В этой челлендж-серии статей попробуем использовать PostgreSQL как среду для решения задач Advent of Code 2024.

Возможно, SQL не самый подходящий для этого язык, зато мы рассмотрим его различные возможности, о которых вы могли и не подозревать.

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

Читать далее

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