int i,A[1005]={0},B[1005]={0},n,j;
scanf("%d", &n);
A[0]=B[0]=1;
for (i=2;i<=n;i++){
for (j=0;j<100;j++)
B[j]*=i; //先乘
for (j=0;j<100;j++)
if (B[j]>9){
B[j+1] += B[j]/10;
B[j]%=10; // 再进位
}
for (j=0;j<100;j++){
A[j]+=B[j];
if (A[j]>9) {
A[j+1] += A[j]/10;
A[j]%=10; // A为累加器
}
}
}
刷题随记 洛谷P1009 [NOIP1998 普及组] 阶乘之和 高精阶乘最简洁漂亮的写法
最新推荐文章于 2021-08-16 14:37:46 发布