如果发现广告等破坏行为,请尽量将条目恢复到较早的版本而不是把相应内容直接删除,谢谢合作。

URAL/1366

来自"NOCOW"

跳转到: 导航, 搜索
#include <cstdio>
const int mod=10000;
int n,t=1,s,a[10001]={0};
void work()
{
    for (int i=1;i<=t;++i)
    {
        a[i+1]+=a[i]/mod;
        a[i]%=mod;
    }
    if (a[t+1])  ++t;
}
int main()
{
    scanf("%d",&n);
    for (int i=2;i<=n;work(),++i)
    {
        for (s=1;s<=t;a[s++]*=i);
        if (i&1)
        {
            for (s=1;!a[s];a[s++]=mod-1);
            --a[s];
        }
        else  ++a[1];
    }
    for (;(!a[t])&&(t>1);--t);
    for (printf("%d",a[t--]);t;printf("%04d",a[t--]));
    printf("\n");
    return 0;
}
//by zzy
个人工具