- @johncarlosbaez Huh. I'd forgotten that. Another book which I loved, and spent hundreds of hours with, is Larson's "Problem Solving Through Problems". More than anything I learnt the basics of discrete math from that book.
This is a practical anthology of some of the best elementary problems in different branches of mathematics. Arranged by subject, the problems highlight the most common problem-solving techniques encountered in undergraduate mathematics. This book teaches the important principles and broad strategies for coping with the experience of solving problems. It has been found very helpful for students preparing for the Putnam exam.