您的位置:首页 > 其它

LightOJ 1045 Digits of Factorial

2015-11-25 21:33 369 查看
基础数论,取个log即可

可以用Stirling公式,我是打的表

#include <cstdio>
#include <cmath>

double fac[1000005] = {0, 0};

void init()
{
for(int i = 2; i <= 1000000; i++)
fac[i] = log(i) + fac[i - 1];
}

int main()
{
int T;
scanf("%d", &T);
init();

for(int ca = 1; ca <= T; ca++)
{
int n, base;
scanf("%d%d", &n, &base);
printf("Case %d: %d\n", ca, 1 + (int)(fac
/ log(base)));
}

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: