太久没写快速幂了...
这是一道数学题orz,能看出来的话答案就是 ,但是很大,同时还要mod n,直接用快速幂即可。
快速幂模版:
long long int power(long long int a,long long int b,long long int mod){long long int res=1;while(b){if(b&1){res=(res*a)%mod;}a=(a*a)%mod;b=b>>1;}return res;
}
快速幂推荐视频:快速幂都能做什么?小小的算法也有大大的梦想_哔哩哔哩_bilibili
代码:
#include<bits/stdc++.h>
using namespace std;long long int power(long long int a,long long int b,long long int mod){long long int res=1;while(b){if(b&1){res=(res*a)%mod;}a=(a*a)%mod;b=b>>1;}return res;
}int main(){long long int n,m,k,x;cin>>n>>m>>k>>x;cout<< (x+m*power(10,k,n))%n;return 0;
}
开始转成Python(orz):
import os
import sysdef power(a:int,b:int,mod:int) -> int:res=1while b:if b&1:res=(res*a)%moda=(a*a)%modb=b>>1return resn,m,k,x=map(int,input().split())
ans=(x+m*power(10,k,n))%n
print(ans)