首页 > 其他 > 详细

1256 乘法逆元

时间:2018-04-23 22:01:22      阅读:171      评论:0      收藏:0      [点我收藏+]
基准时间限制: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


纯粹的求逆元

 1 #include <iostream>
 2 
 3 using namespace std;
 4 
 5 int exgcd(int a,int b,int &x,int &y){
 6     if(b==0){
 7         x=1,y=0;
 8         return a;
 9     }
10     int r = exgcd(b,a%b,x,y);
11     int t = x;
12     x = y;
13     y = t-(a/b)*y;
14     return r;
15 }
16 int main(){
17     int n,m;
18     cin>>n>>m;
19     int x,y;
20     int p = exgcd(n,m,x,y);
21     cout<<(x+m)%m<<endl;
22     return 0;
23 }

 

1256 乘法逆元

原文:https://www.cnblogs.com/zllwxm123/p/8922059.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!