example 4-11: tail recursion factorial