def gcd(x, y):
    """
    求x和y的最大公约数

    :param x: 正整数
    :param y: 正整数
    :returns: x和y的最大公约数
    """
    # 确保x不比y大
    (x, y) = (y, x) if x > y else (x, y)
    for i in range(x, 0, -1):
        if x % i == 0 and y % i == 0:
            return i
    # 当i为1时一定会返回1