转圈游戏
作者:互联网
这道题不难可以推出(x+m*10^k)%n
根据模运算的的分配率可以得到 (x%n+m%n*10^k%n)%n只需用快速幂求出10^k就可以了
#include<iostream> #include<cstdio> #include<algorithm> #include<cstdlib> #include<cmath> #include<cstring> using namespace std; int n,m,k,x; int ksm(int a,int b) { int re=1; int t=a; while(b) { if(b&1) re=re*t%n; t=t*t%n; b>>=1; } return re; } int main() { cin>>n>>m>>k>>x; cout<<(x%n+m%n*ksm(10,k)%n)%n; return 0; }
标签:10,t%,游戏,int,转圈,re,分配率,include 来源: https://www.cnblogs.com/ainiyuling/p/11567277.html