1 条题解

  • 0
    @ 2025-4-7 21:41:57

    C :

    #include<stdio.h>
    #define N 200907
    int main()
    {
        long long a,b,c,d,tmp;
        int i,j,k,n,m;
        while(scanf("%d",&n)!=EOF)
        {
            for(m=0;m<n;m++)
            {
                scanf("%lld%lld%lld%d",&a,&b,&c,&k);
                if(b-a==c-b)
                {
                    tmp=(b-a)%N;
                    d=((k-3)%N*tmp+c%N)%N;
                }
                else if(b/a==c/b)
                {
                    tmp=(c/b)%N;
                    d=1;
                    k--;
                    while(k!=0)
                    {
                        j=k%2;
                        if(j==1)
                        {
                            d*=tmp;
                            d%=N;
                        }
                        tmp=(tmp*tmp)%N;
                        k/=2;
                    }
                    d=d*(a%N)%N;
                }
                printf("%lld\n",d);
            }
        }
        return 0;
    }
    

    C++ :

    #include<stdio.h>
    #define MOD 200907
    
    long long modular_exponent(long long a,long long b,int n){ //a^b mod n
        long long ret=1;
        for (;b;b>>=1,a=(long long)(((long long)a)*a%n))
            if (b&1)
                ret=(long long)(((long long)ret)*a%n);
        return ret;
    }
    
    
    int main()
    {
        double a,b,c;
        int T;
        int k;
        scanf("%d",&T);
        while(T--)
        {
            scanf("%lf%lf%lf%d",&a,&b,&c,&k);
            if(a+c==2*b)
            {
                long long a1=(long long )a;
                long long d=(long long )(b-a);
                int ans=(a1%MOD+((k-1)%MOD)*(d%MOD))%MOD;
                printf("%d\n",ans);
            }
            else
            {
                long long a1=(long long )a;
                long long t1=(long long )(a1%MOD);
                double q1=(b/a);
                long long q2=(long long)q1;
                long long q=(long long)(q2%MOD);
                long long tmp=modular_exponent(q,k-1,MOD);
                int ans=(t1*tmp)%MOD;
                
                
                printf("%d\n",ans);
            }
        }
        return 0;
    }
    
    • 1

    信息

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