「题解」Luogu 1965「转圈游戏」

分析

这题太水了,直接快速幂取模,注意模数不要出现负数。

代码

#include<cstdio>
int mod;
int binaryPow(int a,int b){
    if(b == 0) return 1;
    if(b % 2 == 1) return (long long)a * binaryPow(a,b - 1) % mod;
    else{
        long long mul = binaryPow(a,b / 2);
        return mul * mul % mod;
    }
}

int main(){
    int n,m,k,x;scanf("%d %d %d %d",&n,&m,&k,&x);
    mod = n;
    printf("%d",(((m * binaryPow(10,k) + x) % mod) + mod) % mod);

    return 0;
}