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

分析

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

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#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;
}
分享到