P1009 阶乘之和 50分求助

P1009 [NOIP1998 普及组] 阶乘之和

HE240214 @ 2023-12-09 11:42:19

向大佬求助: 50分 啊啊啊! 高精的代码不会写 嘤嘤嘤!


by xiaoshumiao @ 2023-12-09 11:50:40

@wuyifan2013 不用高精过不了。建议学习高精。


by OldDriverTree @ 2023-12-09 12:06:20

@wuyifan2013 建议学习 \texttt{Python}


by TomXIACH @ 2023-12-20 12:55:55

@OldDriverTree python真的能AC


by OldDriverTree @ 2023-12-20 17:31:03

@TomXIACH 我知道啊


by Dark_Monarch @ 2024-01-28 14:18:48

@xiaoshumiao @OldDriverTree @TomXIACH @wuyifan2013

本蒟蒻献上代码

用高精写的

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

struct Bigint{;
    int len,a[maxn];
    Bigint(int x = 0){
        memset(a,0,sizeof(a));
        for(len = 0;x;len++)
            a[len] = x % 10,x /= 10;
    }
    int &operator[](int i){ return a[i]; }
    void flatten(int L){
        len = L;
        for(int i = 0;i < len;i++)
            a[i + 1] += a[i] / 10,a[i] %= 10;
        for(; len >= 1 && !a[len - 1];)
        len--;
    }
    void print(){
        for(int i = max(len-1,0);i >= 0;i--)
            printf("%d",a[i]);
    }
};
Bigint operator+(Bigint &a,Bigint &b){
    Bigint c;
    int len = max(a.len,b.len);
    for(int i = 0;i < len;i++)
        c[i] += a[i] + b[i];
    c.flatten(len + 1);
    return c;
}
Bigint operator*(Bigint &a,int b){
    Bigint c;
    int len = a.len;
    for(int i = 0;i < len;i++)
        c[i] = a[i] * b;
    c.flatten(len + 11);
    return c;
}

int main(){
    Bigint ans(0),fac(1);
    int m;
    cin >> m;
    for(int i = 1;i <= m;i++){
    fac = fac * i;
    ans = ans + fac;
    }
    ans.print();
    return 0;
}

by OldDriverTree @ 2024-01-28 15:35:51

@ywz121014 讨论区题解?还有你发给我干什么?你想表达什么?


by Dark_Monarch @ 2024-01-29 13:19:22

@OldDriverTree

不是,你什么意思?


by OldDriverTree @ 2024-01-29 13:21:23

@ywz121014 我没让你发给我吧,你 at 我干什么?你这个应该算讨论区题解吧


by Dark_Monarch @ 2024-01-29 13:35:23

@OldDriverTree

我想说,不用Python也能过


by TomXIACH @ 2024-02-09 13:53:25

@ywz121014 6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666


| 下一页