勒让德定理

小于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;
}
发布了58 篇原创文章 · 获赞 8 · 访问量 3万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章