小於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;
}