fuction 递归有bug