long long gcd(long long x, long long y) { return y ? gcd(y, x%y) : x; } y代表的是余数,如果余数不为0,那么就继续操作,将第一个数用第二个数代替,第二个数用余数代替,简化的辗转相除法罢了~~