A/BTime Limit: 1000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2390Accepted Submission(s): 1731Problem Descrip...
分类:
编程语言 时间:
2014-10-28 21:23:56
阅读次数:
156
今天在做一个很简单的算法题目,“求最大公约数和最小公倍数”。一看,太tm容易。 思考过程是这样的:1.最大公约数,有两个个极端,一个是最大公约数是1,一个最大公约数是两个数之间较小的那个数。2.我就理所当然地认为,so easy。不就一个for循环吗?从较小的那个数到1的这一段范围就,如果其中...
分类:
编程语言 时间:
2014-10-22 21:46:30
阅读次数:
194
欧几里得算法-计算两个正整数a,b的最大公约数 #定理:gcd(a,b) = gcd(b, a mod b) 终止条件:余数等于0 返回结果:余数等于0时的除数b #?-*-?coding:?utf-8?-*-
__author__?=?‘nob‘
#迭代欧几里得
def?i...
分类:
编程语言 时间:
2014-10-16 00:51:01
阅读次数:
260
1 void gcd(LL a,LL b,LL &d,LL &x,LL &y) 2 { 3 if (!b) 4 { 5 x=1; 6 y=0; 7 d=a; 8 } 9 else10 {11 g...
分类:
其他好文 时间:
2014-10-07 14:53:03
阅读次数:
149
原题链接:hdu 1576 A/B同样是用扩展的欧几里得算法。$A = 9973k+n = xB$从而转化为:$xB-9973k=n$求解$x$即可。具体扩展欧几里得算法请参考:hdu 2669 Romantic代码如下: 1 #include 2 #include 3 #include 4 ...
分类:
其他好文 时间:
2014-10-06 16:16:00
阅读次数:
214
使用扩展的欧几里得算法。对于初始的两个整数$x_1,y_1$,我们一定可以计算出$ax_1+by_1 = gcd(a,b)$,递推下一步,我们可以得到公式:\begin{equation} ax_1+by_1 = gcd(a,b) = gcd(b,a\%b) = bx_2 + (a\%b)y_2 \...
分类:
其他好文 时间:
2014-10-06 13:36:00
阅读次数:
200
欧几里得算法,辗转相除法,能很快求得最大公约数f(20,15)=f(15,5)=f(5,0)=5 1 #include 2 #include 3 //最大公约数 4 int gcd(int x,int y) 5 { 6 if(x<y) 7 return gcd(y,x);...
分类:
其他好文 时间:
2014-09-19 19:10:25
阅读次数:
161
求两个数a和b的最大公约数,可以想到的是从[1,min(a,b)]枚举每个正整数:#includeusing namespace std;int gcd(int a,int b){ int ans=1; for(int i=2;i>a>>b; cout=b)证明:设gcd(a,b)...
分类:
其他好文 时间:
2014-09-16 10:41:00
阅读次数:
188
1 //Accepted 164 KB 16 ms 2 //拓展欧几里得 3 //m=a1*x+b1 --(1) 4 //m=a2*(-y)+b2 --(2) 5 //->a1*x+a2*y=b2-b1 6 //由欧几里得算法可得上式的解 7 //由a*x+b*y=gcd(a,b) ...
分类:
其他好文 时间:
2014-08-30 20:18:59
阅读次数:
151
题目链接:uva 10951 - Polynomial GCD题目大意:给出n和两个多项式,求两个多项式在全部操作均模n的情况下最大公约数是多少。解题思路:欧几里得算法,就是为多项式这个数据类型重载取模运算符,须要注意的是在多项式除多项的过程中,为了保证各项系数为整数,须要将整个多项式的系数总体扩大...
分类:
其他好文 时间:
2014-08-29 12:41:38
阅读次数:
252