25 条题解

  • 0
    @ 2025-7-24 16:03:57
    #include<bits/stdc++.h>
    using namespace std;
    int n,fac[50000],ans[50000]={1,1};
    int main()
    {
        cin>>n;
        for(int i=1;i<=n;i++)
        {
            for (int j=1;j<=ans[0];j++)
            {
                ans[j]=ans[j]*i+fac[j];
                fac[j]=0;
                if (ans[j]>=10)
                {
                    fac[j+1]+=ans[j]/10;
                    ans[j]%=10;
                    if (j==ans[0]) ++ans[0];
                }
            }
        }
        for (int i=ans[0];i>0;i--) cout<<ans[i];
    }
    

    信息

    ID
    1
    时间
    1000ms
    内存
    256MiB
    难度
    4
    标签
    (无)
    递交数
    427
    已通过
    209
    上传者