IMHO Project Euler teaches bad programming by asking you to solve specific cases instead of general problems. I've found at least one problem where the straightforward correct answer failed in the general case, and the generic solution was significantly more complicated.<p>Edit: this one <a href="http://projecteuler.net/index.php?section=problems&#38;id=13" rel="nofollow">http://projecteuler.net/index.php?section=problems&#38;id=13</a>