Loading

LightOJ - 1045 Digits of Factorial 数论,位数

求n! 在base进制下的位数。

10进制下 Log10(x) 就是x的位数。

base进制下同理。

记得开double

double pre[maxn];

void init() {
    pre[0] = log(1);
    for (int i = 1; i < maxn; i++) pre[i] = pre[i - 1] + log(i);
}

int main() {
    int T = readint();
    init();
    int kase = 1;
    while (T--) {
        int n = readint();
        int base = readint();
        double res = pre[n] / log(base) + 1;
        printf("Case %d: ", kase++);
        Put((int)res);
        puts("");
    }
}

 

posted @ 2020-08-07 23:15  MQFLLY  阅读(117)  评论(0编辑  收藏  举报