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

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

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

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

Как вырастить из ребёнка айтишника долгими зимними вечерами?

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

Привет, Хабр! Жизнь удалёнщика вдвойне веселее с детьми. Изредка переводя взгляд от монитора вовне, я пытаюсь воспитывать дочку. Пока чаще получается наоборот. Эта гибридная нейросеть неохотно соглашается переключаться в режим обучения с учителем, но при этом требует 200% внимания. Такое взаимодействие требует немалых душевных сил, а за выходные я порой устаю сильнее, чем за рабочую неделю. Чего уж говорить о длинной череде красных дней календаря!

Приближаются новогодние праздники, а значит — снова назревает вопрос о том, как провести время с детьми и не свихнуться помочь им развиваться в увлекательной форме. Раньше я рассказал как играю с дочкой «в шифры», а один из читателей предложил более простой вариант — настолки. Как сотруднику компании «Криптонит», мне стало интересно: а есть ли настольные игры на тему криптографии? Сходу нашлось две, а затем я решил опробовать с дочкой ещё одну — более универсальную и направленную (как заявлено) на всестороннее развитие когнитивных функций. Результат нашего небольшого эксперимента оказался слегка неожиданным, и я спешу поделиться с вами свежим опытом.

Читать далее
Всего голосов 14: ↑11 и ↓3+8
Комментарии1

Атмосфера Земли с точки зрения статической теории газов (СТГ)

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

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

В случае сравнения СТГ (статическая теория газов) с традиционной КТГ (кинетическая теория газов) таким качественным преимуществом является возможность рассматривать отдельную молекулу газа  с сохранением всех свойств газа (Р, V, Т) и всех известных действующих законов состояния газов, например: закон Бойля- Мариотта и закон Клайперона-Менделеева (См.рис.1-2).

Читать далее
Всего голосов 15: ↑7 и ↓8-1
Комментарии474

Типизация моделей составных чисел

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

Подход, выбранный в публикуемой работе для исследования составного числа, основан на концепции закона распределения делителей (ЗРД) числа в натуральном ряде чисел (НРЧ). Приводятся общая и каноническая модель числа, сохраняющая основные свойства, присущие большинству реализаций, но имеющая стандартный (наиболее простой) вид. Возвращаясь к прошлым публикациям, перечитал комментарии и принял решение создать эту.

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

При введении (загрузке) в модель исходного значения N эти различия при их учете влекут использование отличающихся алгоритмов обработки, которые приспособлены к конкретному типу чисел. В работе приводится пример двух близких  N1 = 1961 и N2 = 1963 чисел, тип которых не совпадает. Это, в свою очередь, приводит к выбору и исполнению соответствующих алгоритмов обработки этих чисел.

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

Читать далее
Всего голосов 3: ↑2 и ↓1+1
Комментарии0

Папа-шпион создаёт креветок: угадываем профессии специалистов Positive Technologies по рассказам их детей

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

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

Так ребёнок описал работу своего папы — старшего программиста, который участвует в разработке PT XDR. Недавно мы решили разузнать, чем же на самом деле занимаемся. И отправились за ответом к самому достоверному источнику — нашим детям возрастом от 5 до 9 лет.

Некоторые рассказы правдиво отразили будни айтишника. А некоторые вышли совершенно фантастическими. Лучшие истории мы собрали под катом. Ещё подготовили квиз: угадайте, чем на самом деле занимаются родители каждого из юных рассказчиков.

Читать далее
Всего голосов 73: ↑70 и ↓3+67
Комментарии21

Истории

Воспринимайте жизнь как игру, и она станет более понятной

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

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

Помимо правил, в самом начале с вами поделились интересной информацией. Вероятность того, что инопланетянин достанет чёрный камень — всегда 50%. За несколько секунд до начала игры друг шепнул вам о стратегии, которой нужно придерживаться. И в результате, после бесконечного числа партий, вы оба стали победителями. Просто подфартило? Или сработала стратегия партнера?

Читать далее
Всего голосов 20: ↑18 и ↓2+16
Комментарии18

Праздник мы находим: поучаствуй в охоте на секреты и получи подарок от айтишного Деда Мороза

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

Хоу-хоу-хоу, Хабр! На связи айтишный Дед Мороз и его верный помощник — Санта-Хабраслизень. Мы вовсю готовимся к Новому Году и Рождеству, а вам перед праздниками предлагаем как следует развлечься и заодно размять мозги, поучаствовав в поиске новогодних секретов, надёжно спрятанных в статьях блоге Газпромбанка. Секреты помогут зарядиться праздничным настроением, а настойчивых искателей под ёлкой ждут новогодние подарки от Газпромбанка и Хабра. Интересно? Тогда пожалуйте под кат, навстречу приключениям.

Начать охоту за секретами
Всего голосов 40: ↑33 и ↓7+26
Комментарии17

Разбор задачи D отборочного этапа Yandex Cup 2023 — iOS

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

Это статья из серии с разбором задач отборочного этапа Yandex Cup 2023 по направлению iOS-разработка с призовым фондом почти в 9 000 000 рублей. Повторюсь, правильных ответов у меня не было, и решал я уже после окончания отборочного этапа. Если заметите какие-либо неточности в формулировках, в размышлениях, в ответах, буду рад обсудить это в комментариях.

Начнем!)

Читать далее
Всего голосов 9: ↑5 и ↓4+1
Комментарии6

Вычисление значений при угловом обходе квадратной матрицы

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

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

Однако, некоторое время назад меня посетила шальная мысль: а нельзя ли придумать математическую формулу, которая могла бы вычислить значение любого элемента подобных матриц на основании лишь его координат? Такая формула, конечно, не ускорила бы процесс полного обхода матрицы и соответственно установления каких-либо значений по пути следования (обычно по возрастающей)...

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Комментарии4

Внутренний Я(ндекс)

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

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

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

Читать далее
Всего голосов 469: ↑463 и ↓6+457
Комментарии288

Почему x^0 = 1 наглядно

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

Традиционное определение для операции возведения в натуральную степень (или целую положительную) вводится примерно следующим образом:

Возведе́ние в сте́пень — арифметическая операция, первоначально определяемая как результат многократного умножения числа на себя.

Но более точная формулировка всё же другая:

Возведение числа X в целочисленную степень N — арифметическая операция, определяемая как результат многократного [N по модулю раз] умножения либо деления единицы на число X.

Разбираемся под катом! >>
Всего голосов 74: ↑65 и ↓9+56
Комментарии123

Совершенные числа. Удивительная история поисков сверкающих звёзд в бесконечном числовом мире

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

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

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

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

Что же в них такого особенного?
Всего голосов 65: ↑62 и ↓3+59
Комментарии12

Увлекательный лексический анализ языка Rust

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

Давайте поговорим о лексическом анализе. Сначала я собирался назвать этот пост «Реализуем токенайзер», но ветер переменился, времена изменились… и, чтобы не утонуть в потоке комментариев вида «фыр, а где мой BPE-токенизатор LLama, который вы мне обещали», ограничимся пока лексическим анализом.

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

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

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

Довольно слов, приступим.

Читать далее
Всего голосов 18: ↑16 и ↓2+14
Комментарии6

О динамическом программировании на пальцах

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

Как динамическое программирование может упростить нашу жизнь? Как можно оптимизировать решение задач?

Сегодня мы разберем динамическое программирование на пальцах с примерами на Python!

Усаживайтесь поудобнее, леди и джентльмены!

Вперед!
Всего голосов 24: ↑19 и ↓5+14
Комментарии17

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

Какова вероятность найти слово fuck в случайной последовательности из 20 букв?

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


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


Я решил всерьёз выяснить, чему равна эта вероятность в зависимости от длины случайной строки? Можно ли получить явную математическую формулу для ответа? Что, если взять другое слово? Что, если взять другой алфавит?


Обо всём по порядку.

Читать дальше →
Всего голосов 55: ↑55 и ↓0+55
Комментарии79

Этап полировки. Самодельные циклы с параметром в многозвенном «манипуляторе» для работы с данными (генерация карты)

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

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

для доведения до глянца алгоритма генератора нужно было иметь точное представление формул, а их у меня не было, и формулы расчётов буквально отлаживались в отладчике - искались ошибки, после обнаружения таковых автоматического тестировщика, и формулы для отладки движка генератора карт ещё при этом и растасовывались по коду, для сокращения числа их применения, ну или их частей - такое тоже было. Почему я не использовал case тоже можно объяснить достаточно просто : в конечно счёте применение ассемблера имело место - ознакомится с требуемым его функционалом как можно больше, наработать навык и потом применить. Конечно это не бог весть какое достижение, но тем не менее "рабочая камера" движка генератора карт преобразилась с такого вида

Читать далее
Рейтинг0
Комментарии2

Моя любимая задача для собеседований по программированию

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

В сети есть уйма постов и видео, где разбираются ответы на вопросы LeetCode. Но обычно рассмотрение в них происходит с позиции соискателя, а не работодателя. В этой же статье я приведу разбор собственной задачи по программированию, которую использовал при приёме людей на работу в Amazon, Google и Microsoft.
Читать дальше →
Всего голосов 131: ↑126 и ↓5+121
Комментарии170

Звук- это продольная волна в упругой среде. Воздух- это упругая среда?

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

Почему никто не ссылается на «кинетическую теорию газов» при объяснении упругих звуковых волн в воздухе, но при этом физику упругости «твёрдого тела» объясняют через уравнения газовой динамики?

Мы постоянно окружены воздухом и звуками в нём.

Воздух и звук — это неотъемлемая часть нашей жизни, но и то и другое мы не в состоянии увидеть.

Без воздуха мы бы умерли, так как перестали бы дышать.

Без способности слышать звуки мы лишились бы средства общения между людьми и потока информации о внешней среде.

Так что спорить о существовании воздуха и звука не приходится.

Другой вопрос в том, что не очень понятен принцип устройства самого воздуха и механизм передачи звука в нём.

Читать далее
Всего голосов 19: ↑8 и ↓11-3
Комментарии158

Как решать задачи и заниматься спортивным программированием?

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

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

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

Так как же стать спортсменом - да не обычным, а программистом-спортсменом?

Узнать про олимпиадное программирование
Всего голосов 8: ↑6 и ↓2+4
Комментарии25

Разбираетесь в IT? Решите IT-кроссворд и выиграйте 10 000 рублей на аренду серверов

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

Привет, на связи команда Selectel. 11 сентября нашей компании исполнилось 15 лет, из которых уже более 13 мы пишем на Хабр. За это время мы выпустили 1,6 тыс статей на совершенно разные темы.

Хотим проверить, как хорошо вы, наши читатели, ориентируетесь в современных технологиях и не только. Мы подготовили IT-кроссворд — онлайн-соревнование для любителей разработки и тестирования, ML и Data Science, сетевых и серверных технологий. А еще — список статей, которые косвенно или прямо помогут найти ответы.

Под катом — кроссворд и вопросы. Знатоки, которые наберут за ответы большее количество баллов, получат 10 000 рублей на аренду серверов и мерч Selectel. Готовы принять участие? Тогда начинаем!
Читать дальше →
Всего голосов 39: ↑38 и ↓1+37
Комментарии76

Утверждение, что «199 из 200 соискателей не умеют писать код», некорректно

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

Насколько правомерно утверждение, что 199 из 200 соискателей вакансий в сфере программирования по факту программировать не умеют? Откуда взялось это утверждение, и какие основания под собой имеет?
Читать дальше →
Всего голосов 44: ↑40 и ↓4+36
Комментарии96

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