51Nod 1256 乘法逆元 Label:exgcd

时间:2021-01-02 20:22:26
基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题
给出2个数M和N(M < N),且M与N互质,找出一个数K满足0 < K < N且K * M % N = 1,如果有多个满足条件的,输出最小的。
 
Input
输入2个数M, N中间用空格分隔(1 <= M < N <= 10^9)
Output
输出一个数K,满足0 < K < N且K * M % N = 1,如果有多个满足条件的,输出最小的。
Input示例
2 3
Output示例
2

代码

 #include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#define ll long long
using namespace std;
ll x,y;
ll exgcd(ll a,ll b){
if(b==){
x=;y=;return a;
}
int g=exgcd(b,a%b);
int t=x;
x=y;
y=t-a/b*y;
return g;
} int main(){
ll a,b,c;
scanf("%lld%lld",&a,&b);
int g=exgcd(a,b);
printf("%lld\n",(x%b+b)%b);
return ;
}

无话可说,QAQ