Задачи по программированию
Материал из Xgu.ru
Содержание |
[править] Сайты и проекты с задачами по программированию
[править] Универсальные
- http://projecteuler.net — в качестве решения должно быть введено число — ответ на задачу; язык, на котором выполняется решение, не регламентируется; количество потреблённых ресурсов тоже не регламентируется, но все задачи, если их решать красиво и правильно, должны решаться в течение нескольких секунд максимум; летом 2014 проект был взломан, некоторое время после взлома на сайте доступен только список задач, списка участников не было, загружать решения было нельзя, но затем его работа была восстановлена в полном объёме.
- http://acm.timus.ru — решение может быть на одном из нескольких допустимых языков; есть ограничения по ресурсам (время, вычисления); решение должно пройти заданный набор тестов (вход/выход)
- https://www.hackerrank.com — решение задачи может быть на одном из нескольких допустимых языков; разрешаются самые разные языки, в том числе Scala и Clojure; решения принимаются в виде текстов программ, которые проверяются на тестах; есть соревнования
- http://codeforces.com — есть тренировочная и соревновательная площадка; интерфейс, задачи и обсуждение на двух языках, русский и английский; поддерживается множество различных языков программирования, из более специфических: Scala, OCaml, Haskell; Clojure пока нет.
- https://www.codeeval.com — решение задачи может быть на одном из нескольких допустимых языков; разрешаются самые разные языки, в том числе Scala и Clojure; решения принимаются в виде текстов программ, которые проверяются на тестах; в ходе тестирования определяется не только собственно факт выполнения или невыполнения теста, но и время, и память, которые потребовались для решения задачи; поддерживаются самые различные языки программирования, в том числе и сравнительно экзотические: Scala, Clojure, Haskell. От большинства других сайтов этот сайт отличает то, что уровень начальных задач тут очень-очень маленький — сайт прекрасно подходит для начинающих
- Замечание. На данный момент (2014), хотя и заявлено, что Clojure поддерживается, фактически это не так, поскольку существует проблема с измерением объёма потребляемой программой памяти. При выполнении даже самых простых программ выходит, что программа потребляет десятки мегабайтов памяти, и результаты, даже если они верны, не засчитываются. Проблема обсуждается в [1], [2]. Количество успешно решённых задач на Clojure (на данный момент 0) можно посмотреть здесь [3].
- Sphere Online Judge (англ.) — поддерживает огромное количество различных языков, в том числе весьма экзотические.
- Kattis Problem Archive (англ.) — поддерживает Си, Си++, Java, JavaScript, Go, Python и Haskell. Облюбован шведами, исландцами и некоторыми другими европейцами
[править] Языки C, C++, Pascal, Java
[править] Python
- http://www.pythonchallenge.com/ — прикольный квест, где пригодится знание Python
- http://checkio.org/ — задачи по Python оформленные в виде онлайн-игры, где переход между уровнями возможен только при решении определённых задач. Уровень задач от элементарного и выше. Очень крутое оформление. Текст задач на английском, русском и ряде других языков (зависит от задачи)
[править] Clojure
- https://www.4clojure.com/problems
- labrepl for Clojure — целая среда для изучения Clojure. Требует инсталляции
[править] Дополнительная информация
- Where can I find programming puzzles and challenges? (англ.) Хорошая подборка сайтов с задачами по программированию:
- Facebook interview questions (англ.) — подборка простых задачек, которые используются на собеседовании в Facebook