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

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

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

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

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

1. В город N приехал столичный чиновник. На собрании в 9:00 он по секрету рассказал важную новость двум местным сотрудникам. В течение часа каждый из них по секрету рассказал эту новость ещё троим жителям этого города. В течение следующего часа — каждый из этих новоузнавших передал эту новость ещё троим новым и т.д.

Сколько жителей города N будут по секрету знать важную новость в 21:00 этого дня?

2. Помимо секретов чиновник привёз в командировку коробку с печеньками. Они были настолько вкусные, что в первый день он съел аж 8 штук. Ему хотелось растянуть печенье до конца командировки, поэтому он решил держать себя в руках и есть каждый следующий день в полтора раза меньше печенек, чем в предыдущий (кусочки печенек тоже считаются).

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

Можно ли узнать, сколько всего печенек он съест за время своего бесконечного пребывания в городе N? Если да, то хватит ли ему коробки с 50 печеньками?Поделитесь размышлениями ответами в комментариях.

→ Больше подобных задач в бесплатном тренажере «Основы математики для цифровых профессий».

Теги:
0
Комментарии7

💉 Прививка от DDoS-атаки

Привет, Хабр! Надеемся, вас никогда не ддосили, потому что ситуация эта не из простых. Чтобы избежать ее, предлагаем построить алгоритм защиты своего сайта.

Задача

Представьте, что у вас есть сайт, который работает через HTTPS. Он живет на Linux-сервере под вашим управлением — виртуальном или выделенном. Однажды вам снится дурной сон, в котором ваш сервис падает в самый неподходящий момент, пользователи разрывают поддержку и в гневе уходят к конкурентам. Проснувшись в холодном поту, вы вдруг осознаете, что ваш сайт беззащитен перед лицом DDoS-атак. Сон может стать вещим в любую минуту!

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

Мы тоже подготовили несколько советов, составили блок-схему с алгоритмом защиты и поделились ею в Академии Selectel

Теги:
+9
Комментарии2

Напишем код для управления пушкой, сбивающей корабли пришельцев!

Планирую несколько постов о разных технических решениях на моём (теперь опенсорсном!) сайте CodeAbbey. Но начать хочется с чего‑нибудь весёлого — поэтому начнем не по порядку, а с краткого рассказа о сравнительно новом типе задач.

Упражнения на сайте устроены так, что решать можно на любом языке — отправляем код решения и результат вычислений — но проверяется только результат (а код просто чтобы не потерялся). Но хотелось добавить и какой‑нибудь «интерактив» — и один из типов интерактивных задач — это игры, для которых пользователь пишет код выполняемый «с двух сторон»:

  • в браузере, чтобы игру и решение пользователя тут же визуализировать

  • на сервере, чтобы проверить насколько хорошо код пользователя работает

Первой идеей приходит сделать такие задачи на JavaScript — но т.к. сайт учебный, популярен здесь Python (больше 40% используют его). Пробовал реализации Питона на JS (Skulpt, позже Brython) — но у них есть недостатки... Короче, остановился на Lua — с одной стороны она похожа на Питон, но даже попроще, так что любой освоит в нужном для задачи объёме за 10–15 минут (есть инструкция). С другой — я её смог скомпилировать в JS (с помощью EMCC — вот на github).

Пример кода который пытается сбивать пришельцев «не глядя» — занимает 10–12 строк — он есть в тексте задачи. Есть и предыдущая задача попроще — определять попадание в пришельца. Было бы интересно услышать отзыв того, кто попробует решать не имея опыта в Lua!

Теги:
+5
Комментарии2

Добрый день.

Прошу помощи в решении одной хитрой задачи.

Описание 1. Художественное.

Есть плоская поверхность квадратной формы (стол) шириной N. Требуется вычислить, сколько максимально возможно разместить квадратов (например, обложек от пластинок) со стороной S (S < N) так, чтобы центр масс каждого квадрата находился на поверхности (обложки не упали со стола). При этом квадраты не должны перекрывать друг друга, но их можно вращать.

Пример оптимального размещения. Точки abcd - углы стола
Пример оптимального размещения. Точки abcd - углы стола

Описание 2. Геометрическое.

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

Решение (очевидное, но неоптимальное).

  1. Разместить линии на плоскости, при этом линия должна пересекать угол фигуры.

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

  3. Сместить точку пересечения линии и угла вдоль края фигуры на минимальное значение.

  4. Повторять пункты 2 и 3, пока смещение в пункте 3 не достигнет S.

Проблема.

Смещение происходит на дискретный угол / шаг, поэтому всегда есть вероятность пропустить максимум из-за недостаточной точности. Например, при S = 24 и N = 186 используя угол в интервале 20,839-20,905 градусов можно разместить 69 квадратов (или 58 отрезков на 9 линиях, плюс 2 линии без отрезков)

Теги:
+4
Комментарии4

В поисках ключа: решите задачу о шифре Цезаря

Условие

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

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

Задача

Помогите Андрею преобразовать текст. Регистром можно пренебречь.

Jwm kxcq cqjc vxawrwp nzdjuuh ujh Rw unjenb wx bcny qjm caxmmnw kujlt. Xq, R tnyc cqn orabc oxa jwxcqna mjh! Hnc twxfrwp qxf fjh unjmb xw cx fjh, R mxdkcnm ro R bqxdum nena lxvn kjlt. R bqjuu kn cnuurwp cqrb frcq j brpq Bxvnfqnan jpnb jwm jpnb qnwln: Cfx axjmb mrenapnm rw j fxxm, jwm R— R cxxt cqn xwn unbb cajenunm kh, Jwm cqjc qjb vjmn juu cqn mroonanwln.

Ответ

and both that morning equally lay in leaves no step had trodden black. oh, i kept the first for another day! yet knowing how way leads on to way, i doubted if i should ever come back. i shall be telling this with a sigh somewhere ages and ages hence: two roads diverged in a wood, and i— i took the one less traveled by, and that has made all the difference.

🕵 Почему так получилось? Показываем решение в Академии Selectel.

Теги:
Всего голосов 13: ↑12 и ↓1+14
Комментарии2

В Selectel начинается расследование 🔎

Зовем всех Шерлоков на помощь.
Зовем всех Шерлоков на помощь.

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

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

Как помочь расследованию?

  • собрать предложение из пяти слов,

  • отправить предложение в Telegram-канал @SelectelFeedbackBot,

  • в комментариях к конкурсному посту оставить подсказку для других участников квеста,

  • и… не сойти с дистанции.

Переходите в Telegram-канал Selectel, чтобы первыми раскрыть тайну.

Правила проведения конкурса оставили по ссылке.

Теги:
Всего голосов 9: ↑9 и ↓0+14
Комментарии1

Решите задачу? Помогите Даше найти адрес подсети

Привет, Хабр! Как насчет простой задачи про сети? Помогите Даше решить задание и попасть в компанию мечты.

Условие

Студентка Даша хочет попасть на стажировку в сетевой департамент IT-компании. Чтобы пройти отбор, ей необходимо решить задачу: найти адрес подсети, зная IP-адрес 192.168.150.111 и маску 255.255.255.224. 

Задача

Помогите Даше справиться с заданием. Решите задачу сами, а затем сверьтесь с ответом.

Ответ: 192.168.150.96

🕵 Почему так получилось? Рассказываем в Академии Selectel.

Теги:
Всего голосов 13: ↑11 и ↓2+14
Комментарии0

Математическая задача про кофейню

Привет, Хабровчане! Делимся интересной задачей. Попробуете решить? Пишите варианты ответов в комментариях.

Условия: Аня выбирает напиток в кофейне. В меню:

  • 7 видов кофе,

  • 2 вида горячего шоколада,

  • 5 видов чая.

Кофе и горячий шоколад готовят на обычном, соевом или овсяном молоке. Кофе может быть и без молока (а горячий шоколад всегда с молоком). Ещё в кофейне есть 8 сиропов, по желанию можно 1 или 2 разных добавить в кофе.

Вопросы:

  1. Аня берёт каждый день разные варианты напитков. Сможет ли она за три года перепробовать все возможные?

  2. Бариста сказал, что теперь любой из напитков можно сделать горячим или холодным. Сколько времени теперь понадобится Ане, чтобы попробовать все варианты?

Решение задачи опубликуем в комментариях :)

Больше подобных задач в бесплатном тренажере «Основы математики для цифровых профессий».

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии14

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

Для примера возьмём меню «Пиццуля»: 

  • большая пицца 35 см — 880 рублей, 

  • маленькая пицца 23 см — 460 рублей. 

→ Тут предлагаем остановиться и сделать прогноз, а потом проверить, верный ли он.

Немного важных формальностей

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

  • Будем считать, что пицца — это роовный круг.

  • Диаметр пиццы — это отрезок от одного её конца до другого, проходящий через центр окружности.

  • Расстояние от центра до точки окружности — это радиус. Он равен половинке диаметра.

  • Площадь круга ищут по формуле S=πr².

Большая пицца

Диаметр — 35 см, значит, радиус 17.5 см.

Площадь: 

S = 17.5∙17.5π = 306.25π см².

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

Две маленьких пиццы

Диаметр каждой — 23 см, значит, радиус 11.5 см.

Площадь одной пиццы:

S = 11.5∙11.5π = 132.25π см²

Домножим на 2 площадь и стоимость: 264.5π см² за 920 руб. 

Результаты

Для большой пиццы: 306.25π см² за 880 руб.
Для двух маленьких: 264.5π см² за 920 руб.

Выбор очевиден — брать одну большую! Она и дешевле, и по площади больше двух маленьких. Можно также вычислить стоимость одного см² и убедиться, что для большой пиццы она ниже. Совпал ли результат с вашим прогнозом?

Больше подобных задач в бесплатном тренажере «Основы математики для цифровых профессий».

Теги:
Всего голосов 9: ↑4 и ↓5+3
Комментарии5

Логическая задача о колесе. Пример с реального собеседования

Привет, Хабр! Предлагаем решить задачу от нашей коллеги. Это задание — с реального собеседования на позицию продуктового аналитика в одной IT-компании (не Selectel).

Условие

Инженер Аня решила сыграть в игру на IT-конференции. По условию каждый участник мероприятия может один раз прокрутить колесо — в нем шесть слотов, но видно только один. Айтишник выиграет, если в видимом слоте покажется плюс. Если же там будет минус, участник проиграет.

Известно, что:

  • только в двух из шести слотов находятся плюсы, а в остальных — минусы; 

  • плюсы находятся в двух соседних слотах.

Первым попытал счастье фронтендер Петя, он раскрутил колесо и увидел минус. Следующая очередь — Ани. У нее есть два варианта: сильно раскрутить колесо или слегка подтолкнуть его, чтобы показалась следующая за Петиной ячейка. 

Задача

Укажите, какую из двух стратегий надо выбрать Ане, чтобы с наибольшей вероятностью получить плюс?

Ответ

Если Аня раскрутит колесо со всей силы, то вероятность выиграть составит .

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

Ответ: для Ани выгоднее крутить колесо со всей силы, а не надеяться на следующую за Петиной ячейку.

Почему так получилось, рассказываем в Академии Selectel.

Теги:
Всего голосов 10: ↑9 и ↓1+13
Комментарии5

Конкурс на лучшую задачу от подписчиков ?

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

В Telegram-канале Selectel проходит конкурс на лучшую задачу. Победители станут авторами Академии и выиграют наш мерч. ? 

Все подробности — по ссылке.

Что нужно сделать? 

Придумайте задачу для редакции и наших читателей. С вас — условие, с нас — решение и публикация в Академии Selectel.

Правила простые

? задачу можно решить, 

? ее текст нигде не публиковали ранее,

? вы — единственный автор условия.

Присылайте ваши варианты до 14 июня в комментарии к посту или в @SelectelFeedbackBot. Победителей выберем до 21 июня. Удачи!

Теги:
Всего голосов 7: ↑6 и ↓1+10
Комментарии0

Всем привет! Я работаю в ИТ-компании «Криптонит», и наши тимлиды (думаю, как везде) часто дают технические задачи на собеседованиях.

Я долго их уговаривала приоткрыть завесу тайны и показать, какие именно. И наконец-то у меня получилось!

Мы сняли видео, где решаем задачи с собеседований во frontend-разработку «Криптонита». Помог это сделать Василий Беляев, руководитель группы разработки интерфейсов.

?Смотрите ролик на YouTube-канале «Криптонита» — https://youtu.be/EhNF3Et5aDk. Он будет полезен для джунов и мидлов.

В видео разбираемся, что делать с задачей «Палиндром», «Поворот матрицы» и «Подсчёт элементов в списке». А в конце — бонус-решение, которое не требует кода. Обязательно досмотрите до конца!

Теги:
Всего голосов 6: ↑4 и ↓2+5
Комментарии0

Ответ на задачу про следы взлома в дампе трафика

Привет, Хабр! Помните задачу о взломе, которую подготовил наш специалист по информационной безопасности? Как и обещали, показываем верные ответы.

Напомним, что в ней было:

На одном сервере находятся два уязвимых веб-приложения. В сети этого сервера размещен второй хост, с которого зафиксированы попытки эксплуатации уязвимостей веб-приложений.

Определите по дампу трафика:

  • на каких портах отвечают веб-приложения,

  • какая нагрузка в SQL-инъекции использована для обхода авторизации в первом приложении,

  • какая нагрузка в SQL-инъекции использована для получения логинов и хэшей паролей во втором приложении,

  • решение задач каких известных приложений отражено в дампе?

Файл dump.pcap

Верные ответы

На каких портах отвечают web-приложения?

80/TCP, 5000/TCP

Какая нагрузка в SQL-инъекции использована для обхода авторизации в первом web-приложении?

‘ or 1 -- -

Какая нагрузка в SQL-инъекции использована для получения логинов и хэшей паролей во втором web-приложении

Man%27+union+select+1%2Cuser%28%29%2Cdatabase%28%29%2C%28select+GROUP_CONCAT%28login%2C+%27%5Cn%27%2C+password%2C+%27%5Cn%27%29+from+users%29%2C5%2C6%2C7+--+-

Решение задач каких известных приложений отражено в дампе?

bWAPP, OWASP JuiceShop

Интересно, как решить задачу? Показываем пошаговое решение в Академии Selectel.

Теги:
Всего голосов 10: ↑10 и ↓0+13
Комментарии0

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

19 августа – 20 октября
RuCode.Финал. Чемпионат по алгоритмическому программированию и ИИ
МоскваНижний НовгородЕкатеринбургСтавропольНовосибрискКалининградПермьВладивостокЧитаКраснорскТомскИжевскПетрозаводскКазаньКурскТюменьВолгоградУфаМурманскБишкекСочиУльяновскСаратовИркутскДолгопрудныйОнлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн
10 – 11 октября
HR IT & Team Lead конференция «Битва за IT-таланты»
МоскваОнлайн
25 октября
Конференция по росту продуктов EGC’24
МоскваОнлайн
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн

Задача почти как на CTF-турнире: найдите следы взлома в дампе трафика

Почувствуйте себя участником CTF-турнира. Попробуйте решить задачу от специалиста по информационной безопасности Selectel.

Условие

На одном сервере находятся два уязвимых веб-приложения. В сети этого сервера размещен второй хост, с которого зафиксированы попытки эксплуатации уязвимостей веб-приложений.

Задача

Определите по дампу трафика:

  • на каких портах отвечают веб-приложения,

  • какая нагрузка в SQL-инъекции использована для обхода авторизации в первом приложении,

  • какая нагрузка в SQL-инъекции использована для получения логинов и хэшей паролей во втором приложении,

  • решение задач каких известных приложений отражено в дампе?

Файл dump.pcap

Делитесь в комментариях своими вариантами, а мы 27 апреля добавим пост с верным ответом.

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

Читайте также

Теги:
Всего голосов 10: ↑10 и ↓0+13
Комментарии3

Задача о связных списках для начинающих Python-разработчиков ?‍?

Дима — начинающий Python-разработчик. Он совсем недавно устроился в новую компанию и теперь пишет программу для анализа данных.

Однажды Дима пришел на работу и заметил, что в программе начали появляться дубликаты данных. Беда! Повторяющиеся элементы могут исказить результаты анализа, ведь некоторые характеристики учитываются дважды, а это влияет на точность выводов.

Задача

Помогите Диме доработать код. Напишите функцию, которая принимает на вход несортированный связный список и удаляет из него все дубликаты.

Делитесь в комментариях своими ответами! А мы в Академии Selectel показываем два решения и сравниваем сложность каждого способа.

Теги:
Всего голосов 28: ↑28 и ↓0+31
Комментарии1

Постановка задачи:

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

Бармен отвечает: У меня столько пива нет.


Вот программа, которая это считает:

const бармен = function (математиков) {
    let пиво = 0;
    let счётчик = 1;
    let делитель = 2;
    while (счётчик <= математиков) {
        пиво += 1 / делитель++;
        счётчик++;
    }
    return пиво;
};

Вот пиво в зависимости от количества математиков:

1 - 0.5
10 - 2.02
100 - 4.197
1 000 - 6.486
10 000 - 8.788
100 000 - 11.09
1 000 000 - 13.393
10 000 000 - 15.695
100 000 000 - 17.998
```
Результаты расчётов расхода пива на математиков
Результаты расчётов расхода пива на математиков

С каждым разрядом, начиная от 10 000 математиков, прирост пива составляет 2,3 литра.

Вот вариация данной задачи:

Бесконечное число математиков заходит в бар.
Первый заказывает одно пиво, второй - половину кружки, третий - четверть.
Бармен отвечает: Вот дурачьё! - И наливает две кружки.

Предлагайте Ваши варианты задач про пиво с математиками. Пишите интересные наблюдения.

Теги:
Рейтинг0
Комментарии4

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