博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
51Nod 1256-乘法逆元(扩展欧几里德)
阅读量:2029 次
发布时间:2019-04-28

本文共 873 字,大约阅读时间需要 2 分钟。

题目地址:

题意:给出2个数M和N(M < N),且M与N互质,找出一个数K满足0 < K < N且K * M % N = 1,如果有多个满足条件的,输出最小的。
思路:K*M%N=1可以写成K*M-Y*N=1,这样公式就变成了扩展欧几里德求K值。因为是要求最小的,所以求出特解K以后,要变成(K%N+N)%N。

#include 
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#pragma comment(linker, "/STACK:102400000,102400000")using namespace std;typedef __int64 LL;const int inf=0x3f3f3f3f;const double pi= acos(-1.0);const double esp=1e-6;using namespace std;const int Maxn=1e6+10;bitset
pri;LL gcd(LL a,LL b){ while(b!=0){ int r=b; b=a%b; a=r; } return a;}void exgcd(LL a,LL b,LL &x,LL &y){ if(b==0){ x=1; y=0; return ; } exgcd(b,a%b,x,y); LL t=x; x=y; y=t-(a/b)*y;}int main(){ LL m,n; LL x,y; while(~scanf("%lld %lld",&m,&n)){ LL G=gcd(m,n); m/=G; n/=G; exgcd(m,n,x,y); x=(x%n+n)%n; printf("%lld\n",x); } return 0;}

转载地址:http://mcsaf.baihongyu.com/

你可能感兴趣的文章
供应链SCOR模型搭建/改进
查看>>
分析:知识经济时代企业CIO职能转变
查看>>
关于开心网的服务器
查看>>
中国科大与中科院数学院全面合作并创办"华罗庚班"
查看>>
开心网(kaixin001.com)服务器架构的一点猜想
查看>>
抓虾网的架构
查看>>
架构设计之性能设计经验
查看>>
淘宝自主研发的系统
查看>>
Web架构设计的几个心得
查看>>
大型网站架构不得不考虑的问题
查看>>
SNS和互联网,一些可能未必意识到的事
查看>>
开发者不可不知的PHP框架深度解析
查看>>
Linux Network Load Balance(Linux下实现负载均衡)
查看>>
我对CTO的理解 CTO要有技术魅力
查看>>
CIO应用商业智能技术系统的重构思考
查看>>
怎样做一个优秀的系统分析师
查看>>
基于SOA的商业智能平台的研究与设计
查看>>
比尔·盖茨:我们被摩尔定律忽悠了
查看>>
值类型与引用类型初窥
查看>>
[置顶]高并发高流量网站架构
查看>>