Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

R. По ip вычислю

В этой задаче вам предстоит ответить на вопрос, является данная на вход строка корректным IPv4 или IPv6-адресом. Решите задачу без использования регулярных выражений.

Валидный IPv4-адрес имеет следующий формат: s1.s2.s3.s4, где si— целое число от 0 до 255. Числа si не должны иметь лидирующих нулей.

Валидный IPv6-адрес имеет следующий формат: s1:s2:s3:s4:s5:s6:s7:s8, где si - представление числа в 16-ричной системе, состоящее не более чем из четырёх символов. В записи каждого числа могут присутствовать лидирующие нули. Разрешено использовать символы 0-9, a-f, A-F. si не может быть пустой последовательностью символов.

Замечание: в реальности в IPv6-адресе допустима замена группы нулевых полей на ::, однако для простоты в данной задаче такое правило учитывать не нужно.

Формат ввода

На вход подается строка, состоящая из латинских букв, цифр и символов «.» и «:». Длина строки не превосходит 100 символов.

Формат вывода

Выведите «IPv4», если строка является корректным IPv4-адресом.
Выведите «IPv6», если строка является корректным IPv6-адресом.

Выведите «Error», если строка не является корректной записью IP-адреса.

Пример 1

127.0.0.1 IPv4

Пример 2

256.0.0.0 Error

Пример 3

2001:0db8:85a3:00:0:8a2e:0370:7334 IPv6

Пример 4

2001:0db8:85a3:0:030:8a2e:0370:7334 IPv6