题意
求n!在k进制下的位数
直接套斯特林公式
n!≈2nπ−−−√ (ne)n
小数据暴力,大数据套公式
证明我不会……
#include <cstdio>
#include <cmath>
const double pi=acos(-1),e=exp(1),eps=1e-7;
int main(){
int n,k;
while(~scanf("%d %d",&n,&k)){
if(n<=10000){
double Ans=0;
for(int i=1;i<=n;i++)
Ans+=log(i)/log(k);
printf("%lld\n",(long long)(Ans+1e-7)+1ll);
}
else printf("%lld\n",(long long)((log(2*pi*n)/2.0+n*log(n/e))/log(k)+eps)+1ll);
}
}