不会高精度……

P1009 [NOIP1998 普及组] 阶乘之和

time_10 @ 2025-01-04 22:23:59

小蒟蒻不会高精度……小蒟蒻骗50分就跑……有人能帮帮他怎么高精度吗QAQ?

#include<bits/stdc++.h>
using namespace std;

int f(int x) {
    int y=1;
    for (int i=x; i>=1; i--) y*=i;
    return y;
}

int g(int x) {
    int y=0;
    for (int i=x;i>=1;i--) y+=f(i);
    return y;
}

int main() {
    int x;
    scanf("%d",&x);
    printf("%d",g(x));
    return 0;
}

by zhao_ry514114 @ 2025-01-04 22:40:33

高精度其实就是用数组把每一位单独存下来进行计算。

比如说加法就是依次将每一位相加(注意进位处理,判断一下如果大于9就在前一位加1)。

乘法可以看作是乘数每一位与被乘数相乘后再相加,同样注意进位。

特别提醒:一般来说高精度是倒叙储存的,为了方便最高位进位,在输出时也倒叙即可

如果我表述不清的话可以参考这里


|