Как можно развить математическое/логическое мышление для решения задач?
Попробуйте решать задачи на алгоритмы, это хорошо развивает логическое мышление. Можете изучить как работают разные структуры данных, например:
Set, List, Queue, Deque, Map. (Это из Java, но думаю в каждом языке есть эти коллекции)
У этих коллекций есть разные интересные реализации, посмотрите исходный код попытайтесь понять как это работает изнутри, попробуйте реализовать простые версии этих коллекций с основным функционалом.
Вы написали, что читали книгу "Грокаем Агоритмы", найдите применение этим алгоритмам. Только путем решения задач можно развить логическое мышление. 
Тут есть некоторые задачи:
www.itmathrepetitor.ru/zadachi-po-algoritmam-i-str...
www.itmathrepetitor.ru/zadachi-po-programmirovaniyu
Ещё одна жертва культа. Выдыхайте, в программировании нет сакрального знания, как бы вас не уверяли в обратном. С какими вы там задачами на логику и математику сталкиваетесь в начале пути? Я с пятого класса прогуливал уроки математики и списывал домашку. Когда я в начале пути писал на Ассемблере утилитку, эксплуатирующую уязвимость NetBIOS для завешивания компа, там не было математики. Когда писал на Perl'е чат, там её не было. Когда на Сях писал асинхронные сетевые сервисы, тоже не было. Когда на Python'е делал интернет-магазины, не было. Когда на JEE писал всякие там ERP для кровавого энтерпрайза, не было. Даже сейчас, когда пишу нагруженные распределённые банковские системы, тоже не особо-то и сталкиваюсь с математикой. mkone112 уверяет, что я знаю дискретку, просто пришёл к этому знанию в результате практики. Если и так, то это интуитивное понимание, с тем же успехом можно обвинять пауков в знании сопромата. Работа подавляющего большинства программистов, особенно прикладных, больше общего имеет с лингвистикой или литературой, чем с математикой. Наша задача - это всего лишь внятно описать задачу на некотором языке. Просто меньше заморачивайтесь и больше практикуйтесь. Начните с простых программок, постепенно усложняйте, старайтесь решать практические задачи, а не числа Фибоначчи считать. Советы решать головоломки и логические задачи не слушайте, практика решения головоломок учит только решать головоломки.