1 solutions

  • 0
    @ 2024-1-9 16:05:07

    这道题考察的模运算和数位截取技术。既然他要求维护倒数第八位到倒数第三位数字,我们就先在for循环里每一次相乘都对1 0000 0000取模,这样我们最后得到的就是结果的最后八位数,我们再除以100,就砍掉了最后两位数,得到的就是答案。 C++核心参考代码:

    inline void solve
    {
        ll ans = 1;
        for (int i = 2; i <= 13147799; ++i)
            ans = ans * ((i % 2) ? i : 1) % 100000000;
        cout << ans / 100;
    }
    

    python参考代码:

    ans = 1
    for i in range(1, 13147800):
        ans = ans * (1 if i % 2 == 0 else i) % 10000_0000
    print(ans // 100)
    

    答案为597656

    • 1

    Information

    ID
    15238
    Time
    60000ms
    Memory
    256MiB
    Difficulty
    2
    Tags
    # Submissions
    26
    Accepted
    8
    Uploaded By