参考文献:http://www.doc88.com/p-9159772516121.html
前置知识:
- 任意一个合数可以被分解成若干质数相乘形式
- n!的所有质因子为小于等于 n 的所有质数
求解步骤:
- O(n)筛出n以内的所有素数
- 根据上面的第三、四条快速求出每个素数的幂次。
相关题目:
代码:
int cal(LL p, LL n){ //计算 n!的质因子 p 的幂
if(n==0) return 0;
return cal(p, n/p) + n/p;
}
参考文献:http://www.doc88.com/p-9159772516121.html
前置知识:
求解步骤:
相关题目:
代码:
int cal(LL p, LL n){ //计算 n!的质因子 p 的幂
if(n==0) return 0;
return cal(p, n/p) + n/p;
}