题解 | #判断两个IP是否属于同一子网#
判断两个IP是否属于同一子网
https://www.nowcoder.com/practice/34a597ee15eb4fa2b956f4c595f03218
zwym = input().split('.') ip1 = input().split('.') ip2 = input().split('.') def is_valid(ls): for i in ls: if int(i)<0 or int(i)>255: return False return True def is_zwym_valid(s): num = 1 for i in s: if int(i) == num: continue if int(i) == 0 and num == 1: num = 0 if int(i) == 1 and num == 0: return False return True def dec_2_bin(ls): s = '' for i in ls: bin_str = bin(int(i))[2:].rjust(8,'0') s += bin_str return s if is_valid(zwym) and is_valid(ip1) and is_valid(ip2) and is_zwym_valid(dec_2_bin(zwym)): ip1_bin_str = dec_2_bin(ip1) ip2_bin_str = dec_2_bin(ip2) zwym_bin_str = dec_2_bin(zwym) i = 0 while zwym_bin_str[i] == '1': if ip1_bin_str[i] != ip2_bin_str[i]: print(2) break i += 1 if zwym_bin_str[i] == '0': print(0) else: print(1)