#5962: WHY TLE?


jimmyee (LEVEL_UP)


程式碼如下

#include<iostream>
using namespace std;
main()
{
    int n,i,j,x,ans;
    while(cin >> n)
    {
        ans=0;
        x=0;
        int num[3020]={0};
        num[0]=1;
        for(i=2;i<=n;i++)
        {
            for(j=0;j<=x;j++)
                if(num[j])
                    num[j]*=i;
            for(j=0;j<x+5;j++)
                if(num[j]>=10)
                {
                    num[j+1]+=num[j]/10;
                    num[j]%=10;
                }
            for(j=3000;;j--)
                if(num[j])
                {
                    x=j;
                    break;
                }
        }
        for(i=0;i<=x;i++)
            ans+=num[i];
        cout << ans << endl;
    }
}