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

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

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

人生苦短,我用python 都不用做二进制,直接&运算hhh

while True:
    try:
        x = input().split('.')
        y = input().split('.')
        z = input().split('.')
        m, n = [], []
        for i in range(len(x)):
            x[i] = int(x[i])
            y[i] = int(y[i])
            z[i] = int(z[i])
        if x[0]!= 255 or x[3]!=0 or max(x+y+z)>255 or min(x+y+z)<0:
            print('1')
        else:
            for i in range(len(x)):
                m.append(int(x[i]) & int(y[i]))
                n.append(int(x[i]) & int(z[i]))
            if m == n:
                print('0')
            else:
                print('2')
    except:
        break
全部评论
if x[0]!= 255 or x[3]!=0 这个能判断 掩码 非法??
5 回复 分享
发布于 2022-09-04 19:37 河南
255.0.255.0按照代码应该判断为合法掩码吧,
3 回复 分享
发布于 2023-04-14 22:37 广东
前面都已经变过整数了,你与运算的时候不需要再转化为整形了,画蛇添足,很显然你是照着官方视频解答抄的,自己都没理解清楚
2 回复 分享
发布于 2022-11-19 12:44 江西
根本没判断子网掩码。只是套题目,换个用例,例如下面的就不行了: 255.254.255.0 85.122.52.249 10.57.28.117
点赞 回复 分享
发布于 2024-10-03 21:28 浙江
我不太明白try的最后没有continue,为什么能完成输入3行处理一波
点赞 回复 分享
发布于 2023-10-10 17:48 湖北
我不明白十进制的&运算是否能取代二进制的&运算
点赞 回复 分享
发布于 2023-09-30 20:42 广西
你这判断不了子掩网码啊
点赞 回复 分享
发布于 2023-05-19 14:31 陕西
抄袭官方解答而已,自己写出来更好
点赞 回复 分享
发布于 2022-11-19 11:32 江西
可能是我深度不够,我也觉得蹊跷
点赞 回复 分享
发布于 2022-10-31 15:57 陕西
1.255.255.0 187.39.235.7 219.79.189.231 预期 输出 1 这个 都合法啊。。。
点赞 回复 分享
发布于 2022-09-04 19:42 河南
最后与运算不用加int,前面已经int了
点赞 回复 分享
发布于 2022-09-01 10:05 江西
厉害
点赞 回复 分享
发布于 2022-08-18 10:50 广东
大神,max(x+y+z)>255 or min(x+y+z)<0是什么意思?怎么来的哈
点赞 回复 分享
发布于 2022-08-17 12:03 北京
真是个小机灵鬼┐(´-`)┌
点赞 回复 分享
发布于 2022-06-30 16:18

相关推荐

不愿透露姓名的神秘牛友
06-27 14:11
很喜欢小米的新车,校招薪资每月22k,攒多久能买?
测试糕手手:别看工资,先看现金流存款。有50W存款以上再考虑,车是消耗品,选适合自己的重要。你有钱就当我没说过
点赞 评论 收藏
分享
看到这个内容真是闹麻了。。。。。。现在有了AI以后很多人面试都会作弊吗?&nbsp;那对老老实实面试的人岂不是不公平....
重生之我要干前端:放宽心,作弊很明显的,面试官也不是傻子,而且这世上更多的肯定是依靠自己的知识的人,所以放宽心提升自己最重要
点赞 评论 收藏
分享
评论
24
11
分享

创作者周榜

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