题解 | #判断两个IP是否属于同一子网#

判断两个IP是否属于同一子网

http://www.nowcoder.com/practice/34a597ee15eb4fa2b956f4c595f03218

while True:
    try:
        mask = input().split(".")
        ip1 = input().split(".")
        ip2 = input().split(".")
        if len(mask) != 4 or len(ip1) != 4 or len(ip2) != 4:
            print("1")
            break
        for i in range(4):
            mask[i] = int(mask[i])
            ip1[i] = int(ip1[i])
            ip2[i] = int(ip2[i])
        a = mask + ip1 + ip2
        if mask[0] != 255 or mask[3] != 0 or max(a)> 255 or min(a) < 0:
            print("1")
        else:
            b = True
            for i in range(4):
                # 两个ip每8位和对应掩码判断【与】运算是否相等,不等则说明不在同一掩码内,提前退出
                if (mask[i] & ip1[i]) != (mask[i] & ip2[i]):
                    b = False
                    break
            print("0") if b else print("2")
    except:
        break
全部评论

相关推荐

2025-12-28 16:32
重庆邮电大学 Java
程序员花海:1.技能放最后,来面试默认你都会,技能没啥用 2.实习写的看起来没啥含金量,多读读部门文档,包装下 接LLM这个没含金量 也不要用重构这种 不会给实习生做的 3.抽奖这个还是Demo项目,实际在公司里面要考虑策略,满减,触发点,触发规则 库存 之类的,不是这个项目这么简单 4.教育背景提前,格式为 教育背景 实习 项目 技能 自我评价
简历被挂麻了,求建议
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务