阶乘分解
质因数分解n!
for(int i=2;i<=n;i++)
{
if(vis[i]) continue;
s[++tot]=i;
for(int j=i;j<=n/i;j++) vis[i*j]=1;
}
for(int i=1;i<=tot;i++)
{
int p=s[i],sum=0,tmp=1;
int t=log(n)/log(p);
for(int j=1;j<=t;j++)
{
tmp=tmp*p;
sum+=n/tmp;
}
printf("%d %d\n",p,sum);
}
对每个质因数逐个考虑

浙公网安备 33010602011771号