摘要: 扩展欧几里得的运用:View Code #include<iostream>#include<cstdio>#include<cstdlib>#include<algorithm>#include<cmath>#include<queue>#include<set>#include<map>#include<cstring>#include<vector>#define LL long longusing namespace std;LL Ex_Gcd( LL a , LL 阅读全文
posted @ 2012-07-20 23:01 wutaoKeen 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 由于bi,bj不保证互素,不能用直接套中国剩余定理,做法是利用欧几里德扩展定理,将两个等式合并,然后再与其他的等式一一合并对于x=b1 mod a1,x= b2 mod a2,设x=b1+m1*a1 , x = b2 + m2*a2;所以 b1 +m1*a1 = b2 + m2*a2;所以a1*m1=b1-b2 mod a2,利用欧几里德扩展定理求出最小的非负m1,那么x=b1+m*a1就已知,且x最小,如果无解,整个同余式组无解;同时,x+k*a1是所有满足x≡b1 mod a1的解,而x+k'*a2又是所有满足x≡b2 mod a2的解那么,将x+k*b1与x+k'*b2合 阅读全文
posted @ 2012-07-20 21:32 wutaoKeen 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 1.5 中国剩余定理出自Bupt_wiki跳转到: 导航, 搜索这篇文章写的很清晰,所有就COPY过来了,与大家分享;●知识精讲 这个问题源自于我国数学古书《孙子算经》中的一道问题:“今有物,不知其数,三三数之,剩二;五五数之,剩三;七七数之,剩二。问物几何?”意思是一个整数除以三余二,除以五余三,除以七余二,求这个整数(满足条件且最小)。做法是: n%3=2,n%5=3,n%7=2且3,5,7互质 找到使(5×7)的倍数模3得1的数,答案是70 找到使(3×7)的倍数模5得1的数,答案是21 找到使(3×5)的倍数模7得1的数,答案是15 那么(70× 阅读全文
posted @ 2012-07-20 16:31 wutaoKeen 阅读(244) 评论(0) 推荐(0) 编辑