51Nod 1256 乘法逆元模板題
阿新 • • 發佈:2018-12-14
基準時間限制: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<bits/stdc++.h> using namespace std; int n,m; int exgcd(int a,int b,int &x,int &y) { if(b==0) { x=1; y=0; return a; } int r=exgcd(b,a%b,x,y); int temp=x; x=y; y=temp-a/b*y; return r; } int main() { int x,y; scanf("%d%d",&n,&m); exgcd(n,m,x,y); x=(x+m)%m; printf("%d\n",x); return 0; }