易错点:
- 括号后面也需要mod运算.
#include<cstdio>
#include<iostream>
using namespace std;
int mod;
int poww(int x,int k){
int ans=1,tmp=x;
while(k){
if(k&1){
ans=ans*tmp%mod;
}
tmp=tmp*tmp%mod;
k>>=1;
}
return ans%mod;
}
int main(){
int n,m,k,x;
scanf("%d%d%d%d",&n,&m,&k,&x);
mod=n;
int val1=poww(10,k);
if(!val1)cout<<x%mod<<endl;
else cout<<(x%mod+m*val1%mod)%mod<<endl;//
return 0;
}