1 条题解

  • 0
    @ 2024-12-24 9:49:24

    C++ :

    #include <set>
    #include <map>
    #include <queue>
    #include <stack>
    #include <math.h>
    #include <string>
    #include <vector>
    #include <stdio.h>
    #include <stdlib.h>
    #include <iostream>
    #include <limits.h>
    #include <string.h>
    #include <algorithm>
    #include <functional>
    using namespace std;
    typedef long long ll;
    ll a[1000005]={0};
    ll m;
    int main()
    {
        int t;scanf("%d",&t);
        while(t--){
            char as[1000];
            scanf("%s",as);
            scanf("%lld",&m);
            ll n=0;
            int len=strlen(as)-1;
            ll cc=1;
            int aa=0;
            if (strlen(as)>7) n=m-1;
            else if (strlen(as)==7&&atoi(as)>m){
                n=m-1;
            } else n=atoi(as);
            a[0]=1;
            ll sum=a[0];
            for (int i=1;i<=n;i++){
                    a[i]=(a[i-1]*i)%m;
                    if (a[i]==0) break;
                    sum=(sum+a[i])%m;
            }
            printf("%lld\n",sum%m);
        }
        return 0;
    }
    
    
    • 1

    信息

    ID
    894
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者