WasTabon
@WasTabon

Как решать задачи по программированию математическим путем, а не «в тупую»?

Часто натыкаюсь на сайтах по типу Leetcode, да и в жизни в общем, что можно задачу решить через циклы, массивы, методы встроенные, а можно только через математику. Может есть статья об этом, книга? Или тут только надо учить математику и все, но вроде знаю её но применять не особо умею
  • Вопрос задан
  • 438 просмотров
Решения вопроса 2
vabka
@vabka
Токсичный шарпист
Чтобы решать математическими методами - да, нужно знать математику. В частности дискретную, тк чаще именно её использую при решении алгоритмических задач.

Книга есть. Начать можно с достаточно толстой: Алгоритмы, построение и анализ.
Например там в начале показан пример, как найти (или хотябы доказать корректность) решение при помощи индукции, доказывая, что на каждом шаге алгоритма будет выполняться какой-то инвариант (например что вся левая часть массива отсортирована после того, как мы перешли к правой)
Ответ написан
Комментировать
hint000
@hint000
у админа три руки
Возможно, буду нескромен, но всё же приведу в качестве иллюстрации несколько своих ответов:

Всё это несложные задачи, постановка которых доступна для понимания любому, но которые требуют немножко математического мышления.
Безусловно, здесь есть много лучших примеров применения математики в программировании от других участников, просто свои мне было проще найти.
Или тут только надо учить математику и все, но вроде знаю её но применять не особо умею
Если база есть, то учиться применению - примерно так же, как ребёнок учится ходить, учится говорить. Т.е. наблюдать, как это делают другие и пробовать-пробовать-пробовать, пока не начнёт получаться. Каких-то волшебных рецептов нет, просто мозг постепенно привыкнет мыслить определённым образом.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы