代码:
ll f(ll base,ll n,ll p)
{
ll ans=1;
while(n>0)
{
if(n&1)
{
ans*=base;
ans%=p;
}
base*=base;
base%=p;
n>>=1;
}
return ans;
}
代码:
ll ive[3000030];
int main()
{
ll n,p;
cin>>n>>p;
ive[1]=1;
for(int i=2;i<=n;++i)
ive[i]=(p-p/i)*ive[p%i]%p;
return 0;
}
#include<bits/stdc++.h>
using namespace std;
#define ll long long
void ogcd(ll a,ll b,ll& x,ll& y)
{
if(!b)x=1,y=0;
else
{
ogcd(b,a%b,y,x);
y-=(a/b)*x;
}
}
int main()
{
ll a,b,x,y;
cin>>a>>b;
ogcd(a,b,x,y);
cout<<(x%b+b)%b<<endl;
return 0;
}