สตริงจะได้รับ สตริงประกอบด้วยตัวเลขเท่านั้น งานของเราคือตรวจสอบการรวมที่อยู่ IP ที่ถูกต้องทั้งหมดที่เป็นไปได้
ก่อนอื่นเราตรวจสอบความยาวของสตริงแล้วแบ่งด้วย "." จากนั้นเราจะตรวจสอบการรวมกันของ "."
ตัวอย่าง
Input : "255011123222" It's not a valid IP address. Input : 255011345890 Valid IP address is 255.011.123.222
อัลกอริทึม
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.
โค้ดตัวอย่าง
# 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))
ผลลัพธ์
Enter IP address25525522134 ['255.255.22.134', '255.255.221.34']