题目
https://www.luogu.com.cn/problem/P1009
CODE
//高精度
#include<bits/stdc++.h>
using namespace std;
int n, a[100010], b[100010], c[100010], len, lenc = 1;
int main(){
scanf("%d", &n);
a[1] = 1;
for(int P = 1; P <= n; P++){
int j = 0;
bool k_ = true;
for(int i = 1; k_; i++){
a[i] = a[i] * P + j;
j = a[i] / 10;
a[i] %= 10;
if(a[i] == 0 && j == 0 && i > lenc){
k_ = false;
}
lenc = i > lenc ? i : lenc;
}
j = 0;
for(int i = 1; i <= 1000; i++){
c[i] += a[i] + j;
j = c[i] / 10;
c[i] %= 10;
len = i > len ? i : len;
}
}
bool k = true;
for(int i = len; i >= 1; i--){
if(c[i] == 0 && k){
continue;
}
k = false;
printf("%d", c[i]);
}
printf("\n");
return 0;
}
中间嵌套的2个循环 判断条件卡了好久,一直WA
基本上带个数字就发现问题了
没有未来的未来不是我想要的未来