『NOIP 2012』同余方程 (exgcd)
阿新 • • 發佈:2018-09-22
鏈接 https using noip int gcd += long long a*
題目鏈接
題目描述
求關於xx的同余方程 \(a x \equiv 1 \pmod {b}\) 的最小正整數解。
解題思路
\(exgcd\)模板題。
簡單證明一下:
明天再證qwq
代碼
#include<iostream> #include<algorithm> #include<cstring> #include<cstdio> using namespace std; long long a,b,x,y,gcd; inline void ex_gcd(long long a,long long b,long long &x,long long &y){ if(b==0){ gcd=a; x=1,y=0; return; } ex_gcd(b,a%b,x,y); long long t=x; x=y; y=t-(a/b)*y; } int main(){ scanf("%lld%lld",&a,&b); long long x,y; ex_gcd(a,b,x,y); long long lcm=(long long)a*(long long)b/(long long)gcd; lcm/=a; //cout<<lcm<<' '<<x<<endl; while(x<=0){ x+=lcm; } cout<<x<<endl; }
『NOIP 2012』同余方程 (exgcd)