题解 | 判断两个IP是否属于同一子网
判断两个IP是否属于同一子网
https://www.nowcoder.com/practice/34a597ee15eb4fa2b956f4c595f03218
while True:
try:
mask = input().split('.')
ip1,ip2 = input().split('.'),input().split('.')
m,n = [],[]
ip1 = list(map(int,ip1))
ip2 = list(map(int,ip2))
mask = [int(x) for x in mask]
xxx = ''.join([f'{bin(x)[2:]:0>8}' for x in mask])
if max(ip1+ip2+mask) > 255 or min(ip1+ip2+mask)<0:
print('1')
elif xxx[0] != '1' or '01'in xxx:
print('1')
else:
for i in range(len(mask)):
m.append(ip1[i]&mask[i])
n.append(ip2[i]&mask[i])
if m == n:
print('0')
else:
print('2')
except:
break

查看9道真题和解析