数论
文章平均质量分 63
HuangLianzheng
广东商学院大2学生 专业电子商务,兴趣 算法与数据结构 C++
展开
-
数论/中国剩余定理
<br />中国剩余定理:<br />设总数为n,模a得x,模b得y,模c得z,若已知x,y,z,让求出最小的n。<br />则n=(x*a1+y*b1+z*c1)%d;<br />其中a1=y*z中的倍数中模a等于1的最小的数;<br />b1=x*z中的倍数中模b等于1的最小的数;<br />c1=x*y中的倍数中模c等于1的最小的数;<br />d=a,b,c的最小公倍数。<br />中国剩余定理原版之韩信点兵版:<br /><br />传说韩信点兵时发明的算法。设士兵总数为n,模3得x,模5得y,模原创 2010-07-22 20:54:00 · 856 阅读 · 0 评论 -
数论/扩展欧几里德算法
扩展欧几里德算法求的是二元一次方程ax+by=c,在a,b,c已知的情况下x的最小整数值,扩展欧几里德算法:int exgcd(int a,int b,int &X,int &Y){ if(b==0) { X=1; Y=0; return a; } int d=exgcd(b,a%b,X,Y); int t=X; X=Y; Y=t-(a/b)*Y; return d;原创 2010-07-22 20:40:00 · 969 阅读 · 0 评论