给定一个正整数 n,请实现一个函数计算 n! 末尾有多少个连续的 0。要求使用递归方式,思路基于统计质因数 5 的个数,递归公式为 (n == 0) ? 0 : n / 5 + f(n / 5)。
考察说明
考察阶乘末尾零的计算原理与递归实现能力
回答思路
- 解释末尾零由因子 2 和 5 成对决定,且 5 的个数更少
- 写出正确的递归函数,终止条件 n==0 返回 0
- 递归表达式 n/5 + f(n/5) 正确理解整数除法
- 能说明边界情况如 n=0、n=1 的结果,以及避免死递归
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。