#include<iostream>
    #include<cmath>
    #include<cstring>
    using namespace std;
    int n;
    int a[2600],l;
    bool prime(int x)
    {
        int t=sqrt(x+0.5);
        for(int i=2;i<=t;i++)
            if(x%i==0)
                return false;
        return true;
    }
    void multi(int n)
    {
        for(int i=1;i<=l;i++)
            a[i]*=n;
        for(int i=1;i<=l;i++)
        {
            a[i+1]+=a[i]/10;
            a[i]%=10;
        }
        l++;
        while(a[l])
        {
            a[l+1]+=a[l]/10;
            a[l]%=10;
            l++;
        }
        l--;
    }
    int main()
    {
        memset(a,0,sizeof(a));
        l=1;
        a[1]=1;
        cin>>n;
        for(int i=2;i<=n;i++)
            multi(i);
    //  for(int i=l;i>=1;i--)cout<<a[i];
    //  cout<<endl;
        int x=0;
        for(int i=1;i<=l;i++)
            x+=a[i];
        cout<<x<<(prime(x)?"T":"F")<<endl;
        return 0;
    }

0 条评论

目前还没有评论...

信息

ID
1200
难度
4
分类
数论 | 素数判定 点击显示
标签
(无)
递交数
3393
已通过
1348
通过率
40%
被复制
12
上传者