新增：递归算法