5 条题解

  • 0
    @ 2023-9-27 9:39:56

    首先,这题的数据非常的小

    我写的int128跑这题使用了4ms,但是好在AC了,所以用不着高精度捏。

    所以使用高精度的差不多够了哈。这题考察的也根本不是高精度,考场出高精度基本要被骂毒瘤出题人的。

    以下正常代码(部分):

    #define i128 __int128
    void solve()
    {
    	i128 n,ans=1;
    	read(n);
    	for(i128 i = 2 ; i<=n ; i++){
    	    ans*=i;
    	}
    	print(n); cout<<"!=" ; print(ans);
    }
    

    long long 爆掉了,所以不建议,unsigned long long应该也不行。建议学习有关__int128的知识,和写一个快读快写差不了多少。

    还有虽然有些人不知道int128,但至少把高精写在主函数外面啊喂!

    递归做法:

    i128 genshin(i128 p){
        if(p==1)return 1;
        return p*genshin(p-1);
    }
    void solve()
    {
        i128 n,ans=1;
        read(n);
        ans=genshin(n);
        print(n); cout<<"!=" ; print(ans);
    }
    

    信息

    ID
    316
    时间
    1000ms
    内存
    128MiB
    难度
    4
    标签
    递交数
    446
    已通过
    214
    上传者