[noip2012]同余方程 题解
2017-10-29 21:31
211 查看
emmm,一道当时的模板题吧。什么只要会ex_gcd就可以A的题。
变换一下式子:ax=k(mod b)可以变为ax+k=by,再移一下项,可得:
ax+by=-k,y的正负可以变,然后,就是ex_gcd了。
其实可以当作板子背下来。
变换一下式子:ax=k(mod b)可以变为ax+k=by,再移一下项,可得:
ax+by=-k,y的正负可以变,然后,就是ex_gcd了。
#include<bits/stdc++.h> using namespace std; int a,b,x,y; int ex_GCD(int a,int b,int &x,int &y) { if(b==0){ x=1,y=0; return a; } int r=ex_GCD(b,a%b,x,y); int t=x; x=y; y=t-(a/b)*y; return r; } int main() { cin>>a>>b; ex_GCD(a,b,x,y); if(x<0)x=x+(-x/b+1)*b; cout<<x; return 0; }
其实可以当作板子背下来。
相关文章推荐
- NOIP2012 同余方程
- [noip 2012] 同余方程
- noip2012 同余方程 (扩展欧几里得)
- 【NOIP2012】洛谷1082 同余方程
- CJOJ 1029 【NOIP2012】同余方程
- NOIP 2012 同余方程
- NOIP2012同余方程[exgcd]
- 洛谷 1082 [NOIP2012] 同余方程 exgcd
- 扩展欧几里得算法解同余方程(NOIP2012)
- NOIP2012提高组 同余方程
- NOIP 2012 同余方程
- [NOIP2012] 同余方程
- LuoguP1082[NOIP2012] 同余方程 解题报告【拓展欧几里得】
- NOIP2012 同余方程
- [NOIP2012] 提高组 洛谷P1082 同余方程
- NOIP 2012 同余方程
- [NOIP 2012] 同余方程 · 拓展欧几里得
- NOIP 2012 提高组 复赛 day2 mod 同余方程
- 【noip2012】同余方程
- 1265. [NOIP2012] 同余方程