def isrelativelyprime(a, b):
    """
    判断两个数是否互质
    :param a:
    :param b:
    :return: 互质返回 True 否则返回 False
    """
    # 不是正整数谈不上互质
    if a <= 0 or b <= 0:
        return False
    # 1 与任何正整数都互质
    if 1 == a or 1 == b:
        return True
    # a 与 b 都不为 0 情况下相等就不可能互质
    if a == b:
        return False
    # 两个连续的自然数一定是互质数
    if abs(a - b) == 1:
        return True
    # 两个连续的奇数一定是互质数
    if a & 1 == 1 and b & 1 == 1 and abs(a - b) == 2:
        return True
    # 根据最大公约数是否为 1 判断互质
    while True:
        t = a % b
        if 0 == t:
            break
        else:
            a = b
            b = t
    if b > 1:
        return False
    return True