La tarea es simple, dadas dos direcciones IP a
y genera b
todas las direcciones dentro de ese rango.
Ejemplos
Ejemplo 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
Ejemplo # 2 (TIO truncará esto, use un rango más pequeño cuando realice la prueba):
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
Entrada y salida
a < b
en otras palabras:- Definido programáticamente :
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])
- Definido en palabras:
a
siempre será inferior ab
(por lo que tendrá que incrementar la subred para llegarb
). - No, no tiene que manejar
a == b
(si lo hace, felicitaciones).
- Definido programáticamente :
- La salida debe estar en orden de "más bajo" a "más alto" (ver ejemplos).
- Para este reto, la sintaxis válida para una IP es:
\d{1-3}\.\d{1-3}\.\d{1-3}\.\d{1-3}
. - No tiene que manejar la entrada de direcciones que no son IP, si es una entrada inesperada, puede cometer un error.
- La salida puede ser como una matriz o como una cadena delimitada (utilizando cualquier carácter de espacio en blanco).
Victorioso
- Este es el código de golf , el menor recuento de bytes gana.
code-golf
networking
Urna de pulpo mágico
fuente
fuente
123.0.200.255
y123.0.201.0
, pero ¿no son secuenciales?Respuestas:
Pyth, 22
Pruébalo en línea .
fuente
vM
será el valor predeterminado parav
cuando se aplique a una lista.Lote, 623 bytes.
Desafortunadamente, la aritmética de 32 bits de Batch no puede imprimir todas las direcciones IP, por lo que tengo que dividirla en octetos.
fuente
@echo off
una opción? No es que haga una gran diferencia.Python 2 , 128 bytes
Pruébalo en línea!
fuente
PHP, 71 bytes
Salida como cadena
Pruébalo en línea! o Salida como matriz
Pruébalo en línea!
fuente
Jalea , 18 bytes
Pruébalo en línea!
La salida parece ser una masa de dígitos y decimales, pero se almacena internamente como una lista de cadenas. Agregue
Y
a al final (+1 byte) para unir las cadenas mediante nuevas líneas.Cómo funciona
fuente
JavaScript (ES6), 104 bytes
Esta solución reemplaza el patrón n .256 con n + 1 .0, y se llama recursivamente hasta que los dos parámetros sean iguales.
Agrega '.256' a la entrada inicial para que la pelota ruede.
slice(0,-2)
luego se usa para eliminar el '0 'final.Ejemplos:
fuente
Java (OpenJDK 8) ,
339314282 bytesGolfizado:
Sin golf:
Pruébalo en línea!
fuente