Найти тему
Я познаю Питон

Решил 50 задач проекта Эйлера за месяц

Оглавление

"Решить 50 первых задач на проекте Эйлера до конца года" - так звучит одна из моих целей. Точнее звучала, потому что я закрыл её намного раньше. Всего мне понадобилось на все задачи меньше месяца.

Неправильная сложность заданий

На проекте все задачи имеют процент сложности и минимальный равен 5%. Но на самом деле в этой категории они совсем разные: есть такие, которые решаются с пол-пинка, а есть такие, которые без серьезного мозгового штурма не возьмешь. А может и загуглить какие-то моменты придется. Для примера вот две задачи:

Какая задача легче?=)
Какая задача легче?=)

Хотя для кого-то может все 50 первых задач - это легкая прогулка.

Задача, которую не осилил самостоятельно

Алгоритм решения одной задачи я так и не смог придумать. На неё у меня ушло 2 дня размышлений и несколько рисунков в тетради. Под конец третьего дня я сдался и загуглил подобную задачу. С опухшей головой я ничего не понял и вырубил компьютер. Но через час озарило, включил ПК и накодил решение.

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

Лишь бы решить

Несколько задач решались очень долго, порой доходило до нескольких часов. Понятное дело, что такой код надо было оптимизировать. И если для часовых решений я всё же старался и менял программу, то для 5-минутных решений у меня желания не оставалось. В итоге у меня получилось 50 программ, из которых две или три выполняются в районе 5 минут.

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

Итог

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

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

Картинка с интернетов
Картинка с интернетов

Для тех, кто тоже регистрировался в проекте и тем кому интересно посмотреть на мои результаты - вот мой код с проекта: 1585237_lmBqYzFoWiQuuClIKA0W9pKyl4HR1L7s - добавляйтесь в друзья.=)

Наука
7 млн интересуются