學習了一下Java
學習
gcd的要點:給定數p,q(p > q)。其最大的公約數爲x。x必定是p除以q餘數的因子。遞歸
由於: p = k*q + r, x爲p的因子,同時也是q的因子,因此它是r的因子。class
抽象的寫法:gcd(p, q) := gcd(q, p%q).test
這是典型的遞歸定義,gcd處理的規模在縮小。gc
終結條件:static
if (q == 0) return p;
return
Java:gcd
package test;public class XAlg { public static int gcd(int p, int q) { if (q == 0) return p; else return gcd(q, p%q); }}