Да. Но обычные задачи, которые решают программисты, с математикой не имеют ничего общего.
...
Задачи с олимпиад по программированию - не имеют ничего общего с настоящим программированием.
Если считать, что настоящее программирование состоит в рисовании форм для ввода данных и вычислении МТБК (где К обозначет "капитализма" или "капиталиста" в гос. или частной конторе, соответственно) с точностью до последнего гвоздя, то, наверно, да. Но зачем же работать в таких конторах? С математикой интереснее и доходнее.
Вот пример олимпиадной задачи. Даны точки в пространстве. Надо соединить их ломаной линией, так чтобы минимальная длина сегмента линии была максимальной.
А вот таже задача из промышленной практики. Для высококачественной цветной печати необходимо измерять цвет разных комбинаций красок. Автоматический спектрофотометер обходит лист с образцами цветов в некотором заданном порядке. Границы между разными элементами определяются по разнице в цвете. Чем больше разница, тем меньше ошибок. Программисту нужно выбрать порядок печати цветов чтобы минимальная разница в цвете между соседними элементами была максимальной. Цвет измеряется в пространстве CIEBasedXYZ и определаятся тремя величинами. Цвет элемента можно достаточно точно оценить до измерения.
Другой программист занят вышиванием. Бывают вышивальные машины, которые умеют заполнить нитками круг некоторого диаметра, и ничего больше. Максимальное количество таких кругов надо разместить внутри заданного контура. Тут сразу вспоминаются задачи о заполнении прямоугольника кругами, которые, казалось бы, не имеют ничего общего с жизнью.
Как говорил кто-то из классиков, в жизни всегда есть место математике. И количество математических задач на пути ограничено только способностью их видеть. Учитесь математике настоящим образом, товарищи программисты.