剩余定理(求解同于方程组)

​
int Chinese_Remainder(int a[],int w[],int len)//中国剩余定理  a[]存放余数  w[]存放所有的模数
{  
    int i,d,x,y,m,n,ret;  
    ret = 0;  
    n = 1;  
    for(i = 0; i < len; i++)  
        n *= w[i];  
    for(i = 0; i < len; i++)  
    {  
        m = n/w[i];  
        d = extend_Euclid(w[i],m,x,y);  
        ret = (ret+y*m*a[i])%n;  
    }  
    return (n+ret%n)%n;  
}  

​

 

你可能感兴趣的:(模板,数论)