Если хочешь подтянуть свои знания, загляни на наш курс «Алгоритмы и структуры данных», на котором ты:
- углубишься в решение практических задач;
- узнаешь все про сложные алгоритмы, сортировки, сжатие данных и многое другое.
Ты также будешь на связи с преподавателем и другими студентами.
В итоге будешь браться за сложные проекты и повысишь чек за свою работу 🙂
В конце марта Библиотека программиста опубликовала суперподборку более, чем 70 бесплатных русскоязычных курсов. Стараясь не отставать от читателей, мы сами штудируем курсы. Мимоходом попадаются занимательные задачки, решение которых доставляет подлинное удовольствие.
Ниже пара таких задач – мы предлагаем вам попробовать их решить и поделиться программным кодом в комментариях! Для решения можно использовать любой язык программирования. Даже в одном и том же языке можно применять абсолютно разные подходы – было бы интересно сравнить, как они различаются по скорости выполнения.
В комментариях действует Markdown-разметка – для вставки форматированного кода ограничьте его с двух сторон тройными апострофами:
Рисуем змейку 🐍
Задача: напишите функцию, которая принимает число n
и выводит таблицу размером n * n
, заполненную числами от 1
до n2
по спирали, выходящей из левого верхнего угла и закрученной по часовой стрелке.
Пример. Пусть n = 5
, функция должна вернуть матрицу вида
Эту задачу мы повстречали в курсе «Программирование на Python». Если вы зайдёте в тупик – наводки можно найти в обсуждении задания. Попробуйте решить компактно и без дублирования кода.
Строим зиккурат 🏗️🔲📐
Задача: напишите функцию, которая принимает целое число n
и выводит «ступенчатую» матрицу, состоящую из n
«этажей». Этажи нумеруются с первого, ширина ступеньки равна одной строке или столбцу.
Пример. Пусть n = 4
, функция должна вернуть матрицу вида
Данную головоломку мы нашли в курсе «Основы программирования на R». Если у вас возникли трудности, посмотрите комментарии обсуждения задания (в них есть специфика применения R). Особый интерес вызывает решение без циклов и рекурсий.
Хочу ещё таких задач! 💻
Если вам по вкусу подобные задачки, обратите внимание на наш сериал головоломок из 15 серий. В каждой серии новая задача и подробный ответ на предыдущую:
- Двойные фамилии (комбинаторика)
- Спрятанное решение (арифметический ребус)
- Остров хамелеонов (алгоритмы)
- Номер Тьюринга (комбинаторика)
- Время великих учёных (алгоритмы)
- Прогуливающиеся джентльмены (логика)
- Часы с одинаковыми стрелками (самая популярная)
- Вирус в колонии бактерий (алгебраическая задача)
- Шесть шахматных коней (задача на алгоритмы по теории графов)
- Задача о беглеце (динамическое программирование)
- Чеширский Кот и число палиндромов (комбинаторика)
- Карточная головоломка Конвея (алгоритм сортировки)
- Как ограбить банк? (динамическое программирование и шифры)
- Головоломка о лягушках (алгоритмы)
- Задача Сфинкса о разрезании лестниц (алгоритмы)
Комментарии