Сообщение
feuerbach, а затем и
avva, о проекте
ProjectEuler сподвигло меня описать развлекательные ресурсы для тех, кто дружит с математикой и/или программированием. Сразу хочу сказать, что я отнюдь не разделяю особых восторгов по поводу ProjectEuler - проект как проект, в чем-то повторяющий уже существующие (см. ниже), впрочем ничего против него я тоже не имею (кроме разве что относительной бесполезности).
UPD. Еще один похожий проект
Puzzleup (thx
yuv_k)
Начну со знаменитых программистких сайтов, где идут непрерывные соревнования. С алгоритмическим уклоном - это, во-первых, конечно же, старожитель
Online judge System в университете Valladolid в Испании, задавший тон многим другим подобным сайтам; далее наши отечественные
Timus Online Judge в Уральском университете и
Online Contester в Саратовском университете. На этих сервисах очень много интересных алгоритмических задач, а в последнее время они так же предоставляют желающим площадку для проведения своих собственных тематических соревнований (например, было несколько соревнований с теоретико-числовым уклоном).
UPD: Еще два подобных сайта с интересными задачами: польский
Sphere Online Judge (SPOJ) и отечественный
El Judge в МФТИ (thx
jerom).
Соревнования с большим уклоном на качество программирования и отладку - это знаменитый
TopCoder (с денежными призами) и отечественный аналог
Test-The-Best. Соревнования на этих сайтах состоят из двух фаз: написание своего решения и попытки "завалить" чужие решения (исходный код чужих решений становится виден на этой фазе), за то и другое начисляются очки.
На стыке математики и программирования находятся многие задачи на сайтах
Can You Find? и
PrimePuzzles, сложность варьируется вплоть до гипотез и открытых проблем.
"Крутые" оптимизационные задачи комбинаторного характера решают в рамках
Al Zimmermann's Programming Contests (с денежными призами), каждое соревнование здесь длится несколько месяцев и дает шансы вволю на наоптимизировать свою программу и/или привлечь существенные вычислительные ресурсы.
Безусловную пользу принесет пополнение
On-Line Encyclopedia of Integer Sequences (OEIS), которую многие ученые успешно используют в своих исследованиях. Там есть много последовательностей с
флагом "more", нуждающихся в пополнении новыми членами. Сложность варьируется от простых последовательностей, допускающих решения в 1-2 строчки и секунды времени, до state-of-art последовательностей, где вычисление нового члена вполне потянет на статью в журнале (известный пример: число латинских квадратов порядка n). Для обзора последовательностей удобно пользоваться
web-камерой, где нужно указать "Sequences Needing More Terms", и камера будет показывать такие последовательности одну за другой. Надо лишь выбрать понравившуюся последовательность, вычислить новые члены и отослать их через
специальную форму.
Вот
выборка некоторых задачек из OEIS, которые мне показались нетривиальными и приподъемными одновременно.
Любителям порешать математические олимпиадные задачи (в том числе и задачи уровня международных олимпиад, исследовательские и открытые проблемы) рекомендуется форум
MathLinks. Еще один похожий форум, но с большим теоретико-числовым уклоном -
Problems in Elementary Number Theory (теперь уже стал подфорумом MathLinks). Из русских сайтов хорошие олимпиадные задачи обсуждают на научном форуме
dxdy.ru. Еще один источник интересных задач разной сложности -
Problem Of The Day канала
#math в IRC-сети EFNet.
См. также: статьи в Компьютерре
Математические развлечения в Сети (авторства
knop) и
Занимательная математика в эпоху хайтека.