51nod 1256 乘法逆元 (扩展欧几里得求逆元)
来源:互联网 发布:付磊 武汉大学 知乎 编辑:程序博客网 时间:2024/06/08 09:11
给出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>using namespace std;typedef long long LL;void exgcd(LL a,LL b,LL &x,LL &y) //带入得到 a*x+b*y=gcd(a,b) { if(b==0) //当b==0的时候 a*x=gcd(a,b)=a 因此x=1 { x=1; y=0; return; } exgcd(b,a%b,x,y); //当b>0的时候 x=y y=x-(a/b)*y LL ans=x; x=y; y=ans-(a/b)*y;}int main(){ LL m,n,x,y; while(cin>>m>>n) { exgcd(m,n,x,y); //列出等式 m*x+n*y=gcd(m,n) cout<<(x%n+n)%n<<endl; } return 0;}
0 0
- 51nod 1256 乘法逆元 (扩展欧几里得求逆元)
- 51nod--1256 乘法逆元 (扩展欧几里得)
- 【51Nod】1256 - 乘法逆元(扩展欧几里得)
- 51nod 1256 乘法逆元(扩展欧几里得算法)
- 51NOD 1256 乘法逆元(扩展欧几里得原理)
- 51nod 125乘法逆元 (扩展欧几里得)
- 51nod 乘法逆元(扩展欧几里得)
- 扩展欧几里得(乘法逆元)
- 乘法逆元(扩展欧几里得)
- 51Nod 1256-乘法逆元(扩展欧几里德)
- 乘法逆元 (扩展欧几里得或费马小定理)
- 乘法逆元 (扩展欧几里得或费马小定理)
- 乘法逆元(扩展欧几里得或费马小定理)
- hdu 1576 A/B(乘法逆元,扩展欧几里得)
- 乘法逆元(扩展欧几里得或费马小定理)
- csu1163扩展欧几里得之乘法逆元
- 乘法逆元与扩展欧几里得
- 乘法逆元的扩展欧几里得解法
- 关联规则推荐算法的原理及实现
- 解决init serial (ttys2) main process ended respawning
- BaseRecyclerViewAdapterHelper 上拉加载过程产生的问题
- CC2541 BLE Peripheral工程的建立
- jq实现首次引导页面
- 51nod 1256 乘法逆元 (扩展欧几里得求逆元)
- SparseArray和ArrayMap相关源码解析
- Git在idea上的入门使用方法
- 程序性能优化之 内存分配影响
- 激活 DTP/DSO/DATA SOURCE
- 使用IntelliJ IDEA开发SpringMVC网站(二)框架配置
- yum源调整为阿里云源记录
- Android多国语言文件夹汇总
- 《牛腩新闻发布系统》总结