词条 | GCD |
释义 | GCD作为缩写意义有多种。它通常表示最大公约数(greatest common divisor,简写为gcd;或highest common factor,简写为hcf),此外它还是共产党和游戏《鬼吹灯外传》的拼音缩写和“创意群总监”的英文缩写。 Grand Central DispatchGCD为Grand Central Dispatch的缩写。 Grand Central Dispatch (GCD)是Apple开发的一个多核编程的较新的解决方法。在Mac OS X 10.6雪豹中首次推出,并在最近引入到了iOS4.0。 GCD是一个替代诸如NSThread等技术的很高效和强大的技术。GCD完全可以处理诸如数据锁定和资源泄漏等负责的异步编程问题。 最大公约数起源 早在公元前300年左右,欧几里得就在他的著作《几何原本》中给出了高效的解法——辗转相除法。辗转相除法使用到的原理很聪明也很简单,假设用f(x, y)表示x,y的最大公约数,取k = x/y,b = x%y,则x = ky + b,如果一个数能够同时整除x和y,则必能同时整除b和y;而能够同时整除b和y的数也必能同时整除x和y,即x和y的公约数与b和y的公约数是相同的,其最大公约数也是相同的,则有f(x, y)= f(y, y % x)(y > 0),如此便可把原问题转化为求两个更小数的最大公约数,直到其中一个数为0,剩下的另外一个数就是两者最大的公约数。 特点及意义最大公约数指某几个整数共有因子中最大的一个。 GCD即Greatest Common Divisor. 例如,12和30的公约数有:1、2、3、6,其中6就是12和30的最大公约数。 两个整数的最大公约数主要有两种寻找方法: * 两数各分解质因子,然后取出同样有的项乘起来 * 辗转相除法(扩展版) 和最小公倍数(lcm)的关系:gcd(a, b)×lcm(a, b) = ab 两个整数的最大公因子可用于计算两数的最小公倍数,或分数化简成最简分数。 两个整数的最大公因子和最小公倍数中存在分配律: * gcd(a, lcm(b, c)) = lcm(gcd(a, b), gcd(a, c)) * lcm(a, gcd(b, c)) = gcd(lcm(a, b), lcm(a, c)) 在坐标里,将点(0, 0)和(a, b)连起来,通过整数坐标的点的数目(除了(0, 0)一点之外)就是gcd(a, b)。 gcd递归定理及证明gcd递归定理是指gcd(a,b)=gcd(b,a%b),其中%表示取余数。 证明如下: 我们只需证明gcd(a,b)和gcd(b,a%b)可以互相整除即可。 对于gcd(a,b),它是a和b的线性组合中的最小正元素,gcd(b,a%b) 是b与a%b的一个线性组合,而a%b是a与b的一个线性组合,因而gcd(b,a%b)是一个a与b的线性组合,因为a,b都能被gcd(a,b)整除,因而任何一个a与b的线性组合都能被gcd(a,b)整除,所以gcd(b,a%b)能被gcd(a,b)整除。反之亦然。 C语言编程实现//non-recursion unsigned int gcd(unsigned int a,unsigned int b){ int r; while(b>0){ r=a%b; a=b; b=r; } return a; } //non-recursion unsigned int gcd(unsigned int a,unsigned int b){ while(b^=a^=b^=a%=b); return a; } //recursion unsigned int gcd(unsigned int a,unsigned int b){ return (b>0)?gcd(b,a%b):a; } 技能公共冷却时间《魔兽世界》中global cool down 的缩写,即技能公共冷却时间。 创意群总监广告公司中 为Group Creative Director的缩写 即 创意群总监 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。