int a,b;while(a)a^=b^=a^=b%=a;b就是最大公约数。。嘎嘎,当然这个是个简略写法,你可以找一下GCD,有完整算法。
辗转相除法if(a swap(a,b);do{ t = a%b; a = b; b = t;}while(a);return a;