SP25452 BUD13TLB - Teaching Hazard
题目描述
教学是一件充满乐趣的事,但同时也可能出现尴尬的情况。几天前,我在大学里教授 CSE3021(计算机科学的数学分析)课程。在第一堂课上,我向学生们讲解了一些非常基础的内容,比如如何在不同进制下计算 $n!$($n$ 的阶乘)末尾的零的数量。很多人都知道,通过以下公式可以计算 $n!$ 中素因子 $p$ 的出现次数:
$$ \sum_{i=1}^{\infty} \left\lfloor \frac{n}{p^i} \right\rfloor $$
这个公式也能用来巧妙地计算阶乘 $n!$ 的末尾零的数量。
我向学生们展示了如何在十进制下计算 $200!$ 末尾零的数量,并笑着要求他们找出 $100!$ 在十六进制(基数为 16)下末尾零的数量。正确答案是 24,让我惊讶的是,有个学生在几分钟内就给出了正确答案。我立即祝贺了他,但当我查看他的计算过程时,发现他实际上计算的是十进制下 $100!$ 末尾零的数量,碰巧的是,十进制和十六进制下的答案都是 24。这让我有些尴尬。现在,你需要帮我找出为何这两个答案一致。给定一个整数 $n$,需要找出有多少对基数 $(b_1, b_2)$ 使得 $n!$ 在这两个基数下有恰好 $p$ 个末尾零,其中 $p$ 需不小于 $x$。
输入格式
输入文件包含最多 1000 行,每行包含两个整数:$n$(满足 $1 < n \leq 10^9$)和 $x$(满足 $1 \leq x \leq 10^5$)。输入以一行两个零结束。
输出格式
对于每行输入,输出一个整数,表示基数对 $(b_1, b_2)$ 的数量,使得 $n!$ 在这两个基数下的末尾零数都恰好为 $p$,且 $p$ 不小于 $x$。可以假设所有的输出结果不会超过 $5 \times 10^{18}$。
说明/提示
- $1 < n \leq 10^9$
- $1 \leq x \leq 10^5$
**本翻译由 AI 自动生成**