Skip to content

Files

Latest commit

1de5553 · Jan 24, 2023

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Jan 24, 2023
Jan 24, 2023
Jan 24, 2023

README.md

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