2013年4月11日
摘要: 代码思想来自scturtle's 渣代码集散地,转载请注明出处不互质的中国剩余定理:利用扩展欧几里得定理将方程两两合并求解假设C ≡ A1 (mod B1),C ≡ A2 (mod B2)。令C = A1 + X1B,那么X1B1 ≡ A2 − A1 (mod B2)。用扩展欧几里德算法求出X1,也就求出C。令B = lcm(B1, B2),那么上面两条方程就可以被C’ ≡ C (mod B)代替。迭代直到只剩下一条方程。你可以理解为新的答案C'即要mod B1,又要mod B2,所以就mod lcm(B1, B2)。而余数C 是刚前面求得的答案,也就是说C'不管怎么折 阅读全文
posted @ 2013-04-11 14:57 行者1992 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 1 /* 2 参考别人的代码写的 3 */ 4 #include <stdio.h> 5 #include <string.h> 6 #include <iostream> 7 #include <math.h> 8 using namespace std; 9 int ax,by;10 int ex_gcd(int a,int b)11 {12 if(b==0)13 {14 ax=1;15 by=0;16 return a;17 }18 int gcd=ex_gcd(b,a%b);19 int temp... 阅读全文
posted @ 2013-04-11 10:30 行者1992 阅读(173) 评论(0) 推荐(0) 编辑