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 建议学习
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