社区讨论

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 条回复,欢迎继续交流。

正在加载回复...