Math and Programming
Both math and programming have a problem set, that requires a certain skill to solve. I have seen a question in a computing science book. It goes something like: "I drove in to a drive through and ordered a burger and fries or a drink. What are the different items that I can get." Ans: 2 To anyone this will look like a logical puzzle, but there is mathematics involved. This branch of mathematics is called Discrete Mathematics. It is the most common prescribed course in any programming course. You don't really have to know how to solve complex Algebra, multi-variable Calculus or High End Trignomoetry to be a programmer, BUT you need to know the basics of Discrete mathematics in order to succeed as a professional programmer.
Re: "...this will look like a logical puzzle, but there is mathematics involved." -> well, Logic is part of Maths, too.
To solve these problem we have a perfect solution called practice .