/**
根据题意可以推出(x+m*10^k)%n
这样的话只需要用快速幂求出10^k即可
注意每一步都要对n取模
**/
int n,m,x;
ll k;
ll power(ll a,ll b)
{
ll ans = 1,base = a;
while(b > 0)
{
if(b & 1)
ans = ans*base%n;
base = base*base%n;
b >>= 1;
}
return ans;
}
int main()
{
cin >> n >> m >> k >> x;
cout << ((x%n+m%n*power(10,k)%n)%n) % n << endl;
return 0;
}
upc 转圈游戏#快速幂
最新推荐文章于 2022-01-21 23:05:30 发布