对cal函数进行修改，完成题目并添加了注释