小于n,且能是a的倍数的数有[n/a]个,[0.3]=0,[-1.3]=-2
所以n!中含有质因数a个数:p=[n/a]+[n/a^2]+[n/a^3]+......
n^2中含有两个a,所以再加一遍,后面同理
#include <stdio.h>
int min(int a,int b)
{
return a<b?a:b;
}
int lrd(int sum,int n,int k)
{
int t=n/k;
if(t!=0)
{
k*=k;
sum=lrd(sum+t,n,k);
}
return sum;
}
int main()
{
int n;
while(scanf("%d",&n)!=-1)
{
printf("%d\n",min(lrd(0,n,5),lrd(0,n,2)));
}
return 0;
}