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

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

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

mask = list(map(int, input().split('.')))
ip1 = list(map(int, input().split('.')))
ip2 = list(map(int, input().split('.')))
mask_1=''.join([i[2:].zfill(8) for i in list(map(bin, mask))])

def check(line, count):
    line = list(map(bin, line))
    line = [i[2:].zfill(8) for i in line]
    line = ''.join(line)
    for i in range(0,25,8):
        record[count].append(int(line[i:i+8], 2) & int(mask_1[i:i+8], 2))

if max(mask) > 255 or mask_1.rfind('1') +1 != mask_1.find('0') or min(mask) < 0:
    print(1)
elif max(ip1) > 255 or max(ip2) > 255 or min(ip1)<0 or min(ip2)<0:
    print(1)
else:
    record = [[], []]
    check(ip1, 0)
    check(ip2, 1)
    flag = 0
    for i in range(4):
        if record[0][i] != record[1][i]:
            print(flag:=2)
            break
    if flag != 2:
        print(0)

一早上就做了个这,求指教
全部评论

相关推荐

点赞 评论 收藏
分享
05-12 11:09
已编辑
门头沟学院 后端
已注销:没必要放这么多专业技能的描述。这些应该是默认已会的,写这么多行感觉在凑内容。项目这块感觉再包装包装吧,换个名字,虽然大家的项目基本都是网上套壳的,但是你这也太明显了。放一个业务项目,再放一个技术项目。技术项目,例如中间件的一些扩展和尝试。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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