The best code in this thread has written gile!
First, many thanks to Evgeniy. Comming from you, the comment realy touch me. I admire the way you write LISP (your style), I consider you as a recursion master and learn a lot reading your codes.
About recursion form, even it's often slower and needs more memory than an iterative form, I like it it very much for its elegancy and its way of thinking (and when I posted my code, recursive form was the rule).
In my opinion, all posted codes are interesting because they're all different.
I enjoy these kind of challenge.