#include int gcd(int m,int n){if(n==0) return m;else return gcd(n,m%n);}*************变形一int gcd(int m,int n) {if(m%n==0) return m; else return gcd(n,m...
分类:
其他好文 时间:
2014-08-02 20:40:13
阅读次数:
243
本人菜鸟一枚,上午在看书的时候突然看到了求最大公约数的一个例题,突然就想到以前好像看过一个欧几里得算法,故又上网仔细找了一下欧几里得算法的原理。可能是本人时间长没看算法,脑子都生锈了。看了几个讲解欧几里得算法的文章,大都只给公式,然后说了一大堆因为、、、、在我还没看懂的时候,突然来了个所以、、、然后...
分类:
其他好文 时间:
2014-08-01 13:25:31
阅读次数:
199
【模运算的定义及概念】模运算即求余运算。“模”是“Mod”的音译,模运算多应用于程序编写中。 Mod的含义为求余。模运算在数论和程序设计中都有着广泛的应用,从奇偶数的判别到素数的判别,从模幂运算到最大公约数的求法,从孙子问题到凯撒密码问题,无不充斥着模运算的身影。【基本理论】 给定一个正整数p,任....
分类:
其他好文 时间:
2014-07-31 12:30:56
阅读次数:
404
http://acm.hdu.edu.cn/showproblem.php?pid=1222苦了这么长时间终于又尝到点甜头了....T_T....开始还以为这道题又是约瑟夫环问题,再想想发现只要这两个数互质就行,也就是它们的最大公约数是1时就是NO 1 #include 2 int GCD(int ...
分类:
其他好文 时间:
2014-07-30 11:52:13
阅读次数:
204
欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。
基本算法:设a=qb+r,其中a,b,q,r都是整数,则gcd(a,b)=gcd(b,r),即gcd(a,b)=gcd(b,a%b)。
递归代码:
__int64 gcd(__int64 a,__int64 b)
{
return b==0?a:gcd(b,a%b);
}
扩展欧几里得
基本...
分类:
其他好文 时间:
2014-07-29 15:00:38
阅读次数:
431
算法总结之欧几里德算法1.欧几里德算法 欧几里德算法又称辗转相除法,用于计算两个正整数a,b的最大公约数。 其计算原理依赖于下面的定理: gcd(a,b)=gcd(b,amodb)(a>b且amodb不为0)代码实现:1 int gcd(int a,int b)2 {3 return ...
分类:
其他好文 时间:
2014-07-29 10:29:16
阅读次数:
231
思路:一个一个的找,因为c不等于b 且b是(a, c)的最大公约数, 所以c是b的整数倍, 每找到一个c就判断与 a的最大公约数是不是b,不是的话,就继续
刚开始的时候 居然把gcd非递归形式忘了。。。也没想用递归形式。。
又见GCD
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (...
分类:
其他好文 时间:
2014-07-28 00:27:10
阅读次数:
246
#include#includeint main(){ int n; int a,b,r; int p,t; scanf("%d",&n); while(n--) { scanf("%d %d",&a,&b); if(a<b) { t=a; a=b...
分类:
其他好文 时间:
2014-07-27 22:21:19
阅读次数:
186
/*
Time Limit : 1000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other)
Total Submission(s) : 148 Accepted Submission(s) : 19
Font: Times New Roman | Verdana | Georgia
Font Size: ←...
分类:
其他好文 时间:
2014-07-26 02:50:46
阅读次数:
252