Chuỗi được đưa ra. Chuỗi chỉ chứa chữ số. Nhiệm vụ của chúng tôi là kiểm tra tất cả các kết hợp địa chỉ IP hợp lệ có thể có.
Ở đây đầu tiên chúng ta kiểm tra độ dài của chuỗi sau đó chia cho ".". Sau đó, chúng tôi kiểm tra sự kết hợp khác nhau của ".".
Ví dụ
Input : "255011123222" It's not a valid IP address. Input : 255011345890 Valid IP address is 255.011.123.222
Thuật toán
Step 1: First check the length of the string. Step 2: Split the string by ".". We will place 3 dots in the given string. W, X, Y, and Z are numbers from 0-255 the numbers cannot be 0 prefixed unless they are 0. Step 3: Generating different combinations. Step 4: Check for the validity of combination.
Mã mẫu
# Python code to check valid possible IP # Function checks wheather IP digits # are valid or not. def ipvalid(ip): # Spliting by "." ip = ip.split(".") # Checking for the corner cases for i in ip: if len(i) > 3 or int(i) < 0 or int(i) > 255: return False if len(i) > 1 and int(i) == 0: return False if len(i) > 1 and int(i) != 0 and i[0] == '0': return False return True # Function converts string to IP address def ipconvert(A): con = len(A) # Check for string size if con > 12: return [] newip = A l = [] # Generating different combinations. for i in range(1, con - 2): for j in range(i + 1, con - 1): for k in range(j + 1, con): newip = newip[:k] + "." + newip[k:] newip = newip[:j] + "." + newip[j:] newip = newip[:i] + "." + newip[i:] # Check for the validity of combination if ipvalid(newip): l.append(newip) newip = A return l # Driver code A = input("Enter IP address") print(ipconvert(A))
Đầu ra
Enter IP address25525522134 ['255.255.22.134', '255.255.221.34']