Задачи по программированию

Материал из 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

[править] Дополнительная информация

На других языках