4.4.3 用惰性化替代递归