当前位置: 代码迷 >> C语言 >> 对于模不是两两互质的线性同余方程组怎么解
  详细解决方案

对于模不是两两互质的线性同余方程组怎么解

热度:488   发布时间:2008-06-09 01:02:50.0
对于模不是两两互质的线性同余方程组怎么解
对于线性同余方程组
x=B[i] mod M[i],0<=i<n
如果不保证对任意的i,j有M[i],M[j]互质,甚至不保证方程组有解,这时这个方程组怎么解


//返回x=B[i] mod M[i],0<=i<n的最小非负整数解,如果无解返回-1
int solModularEquations(int B[],int M[],int n);
搜索更多相关的解决方案: 方程  线性  互质  

----------------解决方案--------------------------------------------------------
依然按旧算法,只是用最小公倍数代替直接相乘,最后多加一步验证
以上为我的猜测


[color=white]
----------------解决方案--------------------------------------------------------
这种情形当且仅当对所有的 i, j, 有 (B[i]-B[j]) % gcd(M[i],M[j]) == 0 时方程有解.
----------------解决方案--------------------------------------------------------
  相关解决方案