社区讨论
P1009求教!!!
P1009[NOIP 1998 普及组] 阶乘之和参与者 3已保存回复 5
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 5 条
- 当前快照
- 1 份
- 快照标识符
- @mhjaoz2r
- 此快照首次捕获于
- 2025/11/03 23:28 4 个月前
- 此快照最后确认于
- 2025/11/03 23:28 4 个月前
我知道需要用高精度来做可是我看了n遍代码也没看见错哪了(???)我去看了眼题解,有个题解和我差不多但是我也没发现自己的思路有啥漏洞(???)代码↓
CPP#include<bits/stdc++.h>
using namespace std;
int main()
{
int i,A[1005]={0},B[1005]={0},n,j;
cin>>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;aaaa
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;
}
}
}
for (i=100;i>=0&&A[i]==0;i--);
for (j=i;j>=0;j--)cout<<a[j];
return 0;
本人迷茫哈 求大佬教!!!
附:



亿点无语哈
回复
共 5 条回复,欢迎继续交流。
正在加载回复...