1. 程式人生 > >java實現 拓展歐幾里得演算法 exgcd

java實現 拓展歐幾里得演算法 exgcd

返回的陣列中,第一個值是最大公約數,第二個值表示C++語言實現中的x,第三個值表示y。

存在整數對 x,y ,使得 gcd(a,b)=ax+by

public  static long[] ex_gcd(long a,long b){  
        long ans;  
        long[] result=new long[3];  
        if(b==0)  
        {  
            result[0]=a;  
            result[1]=1;  
            result[2]=0;  
            return
result; } long [] temp=ex_gcd(b,a%b); ans = temp[0]; result[0]=ans; result[1]=temp[2]; result[2]=temp[1]-(a/b)*temp[2]; return result; }