电子/半导体行业面试题更新 2026-08-05

给定一个正整数 n,请实现一个函数计算 n! 末尾有多少个连续的 0。要求使用递归方式,思路基于统计质因数 5 的个数,递归公式为 (n == 0) ? 0 : n / 5 + f(n / 5)。

地平线人工智能电子/半导体编码实现问题拆解技术原理

考察说明

考察阶乘末尾零的计算原理与递归实现能力

回答思路

  1. 解释末尾零由因子 2 和 5 成对决定,且 5 的个数更少
  2. 写出正确的递归函数,终止条件 n==0 返回 0
  3. 递归表达式 n/5 + f(n/5) 正确理解整数除法
  4. 能说明边界情况如 n=0、n=1 的结果,以及避免死递归
本题已收录答题指导

本题附完整参考答案与评分标准

登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。