题解 | #判断两个IP是否属于同一子网#
判断两个IP是否属于同一子网
https://www.nowcoder.com/practice/34a597ee15eb4fa2b956f4c595f03218
while 1:
try:
ips = list(map(int, input().split('.')))
ip1 = list(map(int, input().split('.')))
ip2 = list(map(int, input().split('.')))
if max(ips)>255 or max(ip1)>255 or max(ip2)>255 or min(ips)<0 or min(ip1)<0 or min(ip2)<0:
print('1')
continue
# for i in range(4):
# out_bin = bin(ips[i])[2:]
# out_bin = out_bin.rjust(8, '0')
# ips[i] = out_bin
ips_bin = ''.join([bin(i)[2:].rjust(8, '0') for i in ips])
if ips_bin.find('01') != -1:
print('1')
break
# for i in range(4):
# out_bin = bin(ip1[i])[2:]
# out_bin = out_bin.rjust(8, '0')
# ip1[i] = out_bin
ip1_bin = ''.join([bin(i)[2:].rjust(8, '0') for i in ip1])
# for i in range(4):
# out_bin = bin(ip2[i])[2:]
# out_bin = out_bin.rjust(8, '0')
# ip2[i] = out_bin
ip2_bin = ''.join([bin(i)[2:].rjust(8, '0') for i in ip2])
if bin(int(ips_bin,2)&int(ip1_bin,2)) == bin(int(ips_bin,2)&int(ip2_bin,2)):
print('0')
continue
else:
print('2')
continue
except:
break
 深信服公司福利 737人发布
深信服公司福利 737人发布 浩鲸科技二面10人在聊
浩鲸科技二面10人在聊