欧几里得算法
描述:计算两个非负整数p和q的最大公约数:若q是0,则最大公约数为p。否则,将p除以q得到余数r,p和q的最大公约数即为q和r的最大公约数。
算法必须满足a大于或等于b
java语言:
public static int gcd(int a, int b){ if(a < b){ int c = b; b = a; a = c; } if(b == 0){ return a; } return gcd(b, a % b); }
不用递归的算法:
public static int gcd(int a, int b) { int t, c; if(a < b) { t = a; a = b; b = a; } while(b != 0) { c = a % b; a = b; b = c; } return b; }

浙公网安备 33010602011771号