试题 C: 阶乘约数
本题总分:10 分
【问题描述】
定义阶乘 n! = 1 × 2 × 3 × · · · × n。
请问 100! (100 的阶乘)有多少个约数。
【答案提交】
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一
个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分
解题思路:
这题小编不会,参考了别人的代码。
理解了一下:
每个数都可以由一系列质数相乘得来,即
x=a1 * a2 * a3…*an
其中ai和aj可以相同。
将相同的项合并写成质数形式,即
x=(a1^k1) * (a2^k2) * (a3^k3) …(am^km)
而 100!=1 * 2 * 3 … * 100
将1~100写成质数相乘的形式。再将1 ~ 100质数相乘的形式连乘即为最终的100!的质数相乘的形式。
利用公式求出100!的约数个数:
约数个数 = (k1 + 1)(k2 + 1)……(km + 1)
参考代码:https://blog.csdn.net/weixin_46239370/article/details/109707904