Ещё одна жертва культа. Выдыхайте, в программировании нет сакрального знания, как бы вас не уверяли в обратном. С какими вы там задачами на логику и математику сталкиваетесь в начале пути? Я с пятого класса прогуливал уроки математики и списывал домашку. Когда я в начале пути писал на Ассемблере утилитку, эксплуатирующую уязвимость NetBIOS для завешивания компа, там не было математики. Когда писал на Perl'е чат, там её не было. Когда на Сях писал асинхронные сетевые сервисы, тоже не было. Когда на Python'е делал интернет-магазины, не было. Когда на JEE писал всякие там ERP для кровавого энтерпрайза, не было. Даже сейчас, когда пишу нагруженные распределённые банковские системы, тоже не особо-то и сталкиваюсь с математикой.
mkone112 уверяет, что я знаю дискретку, просто пришёл к этому знанию в результате практики. Если и так, то это интуитивное понимание, с тем же успехом можно обвинять пауков в знании сопромата. Работа подавляющего большинства программистов, особенно прикладных, больше общего имеет с лингвистикой или литературой, чем с математикой. Наша задача - это всего лишь внятно описать задачу на некотором языке. Просто меньше заморачивайтесь и больше практикуйтесь. Начните с простых программок, постепенно усложняйте, старайтесь решать практические задачи, а не числа Фибоначчи считать. Советы решать головоломки и логические задачи не слушайте, практика решения головоломок учит только решать головоломки.