勒讓德定理

小於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萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章