0分,求助!!!

P1009 [NOIP1998 普及组] 阶乘之和

Hgq20130520 @ 2024-06-15 20:46:17

#include<bits/stdc++.h>
#define z 100
using namespace std;
int main()
{
    int i,n,j;
    int x[z+1]={0},y[z+1]={0};
    scanf("%d",&n);
    x[0]=y[0]=1;
    for(int i=2;i<=n;i++)
    {
        for(int j=0;j<z;j++)
        {
            y[j]*=i;
        }
        for(int j=0;j<z;j++)
        {
            if(y[j]>9)
            {
                y[j+1]+=y[j]/10;
                y[j]%=10;
            }
        }
        for(int j=0;j<z;j++)
        {
            x[j]+=y[j];
            if(y[j]>9)
            {
                x[j+1]+=x[j]/10;
                x[j]%=10;
            }
        }
    }
    for(i=z;i>=0 && x[i]==0;i--);
    for(j=i;j>=0;j--) printf("%d",x[j]);
    return 0;
}

by FZX1234 @ 2024-06-16 13:54:50

我不知道


|