programming puzzle ( Project Euler, Interview questions...)