Задача проста, учитывая два IP-адреса a
и b
вывести все адреса в этом диапазоне.
Примеры
Пример № 1:
f(a = 192.168.0.1, b = 192.168.0.4)
192.168.0.1
192.168.0.2
192.168.0.3
192.168.0.4
Пример № 2 (TIO урежет это, используйте меньший диапазон при тестировании):
f (a = 123.0.200.0, b = 124.0.0.0)
123.0.200.0
123.0.200.1
... # Omitted pattern
123.0.200.255
123.0.201.0
... # Omitted pattern
123.0.201.255
... # Omitted pattern
123.0.255.255
123.1.0.0
... # Omitted pattern
123.255.255.255
124.0.0.0
Вход и выход
a < b
другими словами:- Определено программно :
a[0] < b[0] || (a[0] == b[0] && a[1] < b[1]) || (a[0:1] == b[0:1] && a[2] < b[2]) || (a[0:2] == b[0:2] && a[3] < b[3])
- Определено в словах:
a
всегда будет меньше, чемb
(поэтому вам нужно увеличить подсеть, чтобы достичьb
). - Нет, вам не нужно обращаться
a == b
(если вы делаете, слава).
- Определено программно :
- Вывод должен быть в порядке от «самого низкого» до «самого высокого» (см. Примеры).
- Для этой задачи допустимый синтаксис для IP:
\d{1-3}\.\d{1-3}\.\d{1-3}\.\d{1-3}
. - Вам не нужно обрабатывать ввод не-IP-адресов, если он неожиданный, вы можете ошибиться.
- Вывод может быть в виде массива или в виде строки с разделителями (с использованием любого символа пробела).
выигрыш
- Это код-гольф , побеждает наименьшее количество байтов.
code-golf
networking
Урна волшебного осьминога
источник
источник
123.0.200.255
и123.0.201.0
, но они не последовательны?Ответы:
Пиф, 22
Попробуйте онлайн .
источник
vM
будет использоваться по умолчаниюv
при применении к списку.Пакетный, 623 байта
К сожалению, 32-разрядная арифметика Batch не может печатать все IP-адреса, поэтому мне нужно разделить ее на октеты.
источник
@echo off
вариант? Не то чтобы это имело огромное значение.Python 2 , 128 байт
Попробуйте онлайн!
источник
PHP, 71 байт
Вывести в виде строки
Попробуйте онлайн! или вывод в виде массива
Попробуйте онлайн!
источник
Желе , 18 байт
Попробуйте онлайн!
Выходные данные отображаются с помощью множества цифр и десятичных знаков, но хранятся внутри как список строк. Добавьте
Y
в конец (+1 байт), чтобы соединить строки с помощью новых строк.Как это работает
источник
JavaScript (ES6), 104 байта
Это решение заменяет шаблон n .256 на n + 1 .0 и рекурсивно вызывает себя, пока два параметра не будут равны.
Он добавляет «.256» к начальному вводу, чтобы заставить мяч катиться.
slice(0,-2)
затем используется для удаления завершающего «.0».Примеры:
источник
Java (OpenJDK 8) ,
339314282 байтаGolfed:
Ungolfed:
Попробуйте онлайн!
источник