这个算法是用来求满足下列条件的整数x和y: d = gcd(a,b) = ax+by (d为a,b的最大公约数)算法导论上给出的伪代码: EXTENDED_EUCLID(a,b) 1 if b==0 2 return (a,1,...
分类:
其他好文 时间:
2014-08-24 23:40:53
阅读次数:
339
1009:数论 扩展欧几里得算法1010:高精+细心模拟1011:记忆化搜索1009:扩展欧几里得其实自己对扩展欧几里得算法一直很不熟悉...应该是因为之前不太理解的缘故吧这次再次思考,回看了某位大神的推导以及某位大神的模板应该算是有所领悟了首先根据题意:L1=x+mt; L2=y+nt;可知当两人...
分类:
其他好文 时间:
2014-08-24 11:33:12
阅读次数:
284
欧几里得算法(又称辗转相除法)定理:gcd(a,b) = gcd(a,a mod b)证明:对于任何正整数a,b。如果a>b,都有a=k*b+r 即r=a-k*b => r=a mod b. 假设d为a,b的公约数,则a=a1*d,b=b1*d。 而r=a1*d-k*b1*d=(a1-k*b1)*d...
分类:
其他好文 时间:
2014-08-22 00:09:15
阅读次数:
287
题目链接:
啊哈哈,点我点我
这道题是扩展欧几里得问题。。。哎,数学太弱了,看了半天才看懂。。。。
如果要相遇的话,则(n-m)*T+p*c=x-y成立,那么进行代换得到a*x+b*y=c,那么就转换成小白上面讲的了,所以用扩展欧几里得算法求得一组解,那么最后得到解的通式为x=x0+k*b/gcd(a,b),那么直接另右式子等于0及可。。还有就是没有解的情况就是c%gcd(a,b)不等于...
分类:
其他好文 时间:
2014-08-18 22:04:43
阅读次数:
181
1.欧几里得算法(辗转相除法)和唯一分解定理:
①唯一性分解定理:
算术基本定理,又称为正整数的唯一分解定理,即:每个大于1的自然数均可写为质数的积,而且这些素因子按大小排列之后,写法仅有一种方式。
算术基本定理的内容由两部分构成:
分解的存在性;
分解的唯一性,即若不考虑排列的顺序,正整数分解为素数乘积的方式是唯一的。
②辗转相除法:
是求最大公约数的算法。
辗转相除法基...
分类:
其他好文 时间:
2014-08-11 14:59:42
阅读次数:
330
本来数学就不好,看到LRJ的数学专题直接跪了,上网百度了一下才知道扩展欧几里德算法的证明过程。
首先说一下朴素欧几里德算法,就是辗转相除法,很简单。
int gcd(int a,int b){
return b == 0 ? a : gcd(b,a % b);
}
下面主要说一下扩展欧几里得算法。
给出a,b 求 x,y使得 a * x + b * y = gcd(a,b);...
分类:
其他好文 时间:
2014-08-11 12:09:12
阅读次数:
202
以前觉得用中国剩余定理来求同余方程组很鸡肋,因为可以用拓展欧几里得算法来构造出一种更加强大(可以处理取模的数(默认为mi)不互质的情况)的算法。今天查了点资料,发现我太天真了。首先讲讲中国剩余定理:即 : x ≡a[i] (mod m[i]) 1= 1,所以很多地方一个数你可以拆成多个不同的素数的积...
分类:
其他好文 时间:
2014-08-09 23:03:19
阅读次数:
254
欧几里得算法
欧几里得算法又称辗转相除法,主要用于计算两个整数a,b的最大公约数。
原理:gcd(a,b)=gcd(b,a mod b)(这里a>=b)
(gcd(a,b)=gcd(b,a)=gcd(-a,b)=gcd(|a|,|b|)
证明gcd(a,b)=gcd(b,a mod b):a可以表示成a = kb + r,则r= a mod b 假设d是a,b...
分类:
其他好文 时间:
2014-08-08 18:20:46
阅读次数:
278
扩展欧几里得算法及其应用
一、扩展欧几里得算法
扩展欧几里得算法:对于不完全为 0 的非负整数 a,b,若gcd(a,b)表示 a,b 的最大公约数,必然存在整数对x,y ,使得 ax+by = gcd(a,b)。
算法过程:
设 a>b,当 b=0时,gcd(a,b)=a。此时满足ax+by = gcd(a,b)的一组整数解为x=1,y=0;当a*b!=0 时,
设 a*x1+b*...
分类:
其他好文 时间:
2014-08-08 18:14:06
阅读次数:
341