int gcd(int a,int b)//最大公约数Greatest Common Divisor { return b?gcd(b,a%b):a; } 上述就是辗转相除法求最大公约数的简写算法,也称欧几里德算法。 下面是完整算法: int gcd(int a,int b) { int c,r; if(a<b){c=a;a=b;b=c;} r=a%b; while(r) { a=b;b=r;r=a%b; } return b; } 两者功能一样,建议编程时用第一个,第二个用来理解算法。