我们可以简单地发现,答案就是(x+(10^k)*m)%n。这样的话,就是很简单就可以求出来了。10^k%n的话,我们用一下快速幂就可以解决。
#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll n,m,k,x;
ll ksm(ll a,ll b,ll c)
{
ll ans=1;
while(b)
{
if(b&1)ans=ans*a%c;
b>>=1;
a=a*a%c;
}
return ans;
}
int main()
{
cin>>n>>m>>k>>x;
cout<<(x+ksm(10,k,n)*m)%n;
return 0;
}

本文介绍了一种利用快速幂技巧解决特定模运算问题的方法。通过给出的代码示例,展示了如何计算(x + (10^k * m)) % n 的结果,并详细解释了快速幂算法的具体实现。
1333

被折叠的 条评论
为什么被折叠?



