Несколько месяцев назад я наткнулся на статью, в которой утверждалось, что каждый разработчик (и начинающий разработчик) должен решить первые 50« проблем Project Euler ». Итак, вот моя попытка решить первые 50 с помощью JavaScript.

Почему Project Euler?

Project Euler - это серия сложных задач, требующих математических навыков и навыков программирования. Я цитирую Беннета Гарнера из его статьи Считаете себя разработчиком? Вы должны решить проблемы Эйлера проекта

Преимущества работы над проблемами Project Euler слишком велики, чтобы их игнорировать:

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

Если вы решите первые 50–100 задач Project Euler, вы:

  • Твердо владеть основами программирования
  • Уверенно владейте синтаксисом выбранного вами языка и свободно владейте им.
  • Узнайте об оптимизации алгоритмов и, что более важно, об интуиции оптимизации
  • Получите опыт написания чистого кода с хорошей документацией
  • Получите возможность попрактиковаться в разработке через тестирование
  • Имейте что-нибудь впечатляющее, чтобы показать на своем GitHub и в портфолио

Подход

Что я попытаюсь сделать в этой серии:

  • Решайте проблемы программно, а не математически.
  • Пока не беспокойтесь о пространственно-временной сложности.
  • Улучшайте старые решения, как только будут готовы первые 50.
  • Создайте сообщение в блоге для каждой проблемы с объяснением решения.
  • Опубликовать ответы на мое репо на Github
  • Применяйте шаблоны функционального программирования для решения проблем.

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

Смотрите все мои блоги на @ ohmycode.in