增加两个版本的factorial