La tâche est simple, compte tenu de deux adresses IP a
et de b
sortie de toutes les adresses dans cette plage.
Exemples
Exemple 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
Exemple # 2 (TIO le tronquera, utilisez une plage plus petite lors des tests):
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
Entrée et sortie
a < b
en d'autres termes:- Défini par programme :
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])
- Défini en mots:
a
sera toujours inférieur àb
(vous devrez donc incrémenter le sous-réseau pour l'atteindreb
). - Non, vous n'avez pas à gérer
a == b
(si vous le faites, bravo).
- Défini par programme :
- La sortie doit être dans l'ordre "du plus bas" au "plus haut" (voir les exemples).
- Pour ce défi, la syntaxe valide pour une adresse IP est:
\d{1-3}\.\d{1-3}\.\d{1-3}\.\d{1-3}
. - Vous n'avez pas à gérer la saisie d'adresse non IP, si c'est une entrée inattendue, vous pouvez avoir une erreur.
- La sortie peut être un tableau ou une chaîne délimitée (en utilisant n'importe quel caractère d'espacement).
Gagnant
- Il s'agit du code-golf , le plus petit nombre de victoires d'octets.
code-golf
networking
Urne de poulpe magique
la source
la source
123.0.200.255
et123.0.201.0
, mais ne sont-ils pas séquentiels?Réponses:
Pyth, 22
Essayez-le en ligne .
la source
vM
sera la valeur par défautv
lorsqu'elle est appliquée à une liste.Lot, 623 octets
Malheureusement, l'arithmétique 32 bits de Batch ne peut pas imprimer toutes les adresses IP, je dois donc la diviser en octets.
la source
@echo off
une option? Non pas que cela fasse une énorme différence.Python 2 , 128 octets
Essayez-le en ligne!
la source
PHP, 71 octets
Sortie sous forme de chaîne
Essayez-le en ligne! ou sortie sous forme de tableau
Essayez-le en ligne!
la source
Gelée , 18 octets
Essayez-le en ligne!
La sortie apparaît par une bouillie de chiffres et de décimales, mais est stockée en interne sous forme de liste de chaînes. Ajoutez un
Y
à la fin (+1 octet) pour joindre les chaînes par des sauts de ligne.Comment ça fonctionne
la source
JavaScript (ES6), 104 octets
Cette solution remplace le modèle n .256 par n + 1 .0, et elle s'appelle récursivement jusqu'à ce que les deux paramètres soient égaux.
Il ajoute «.256» à l'entrée initiale pour lancer la balle.
slice(0,-2)
est ensuite utilisé pour supprimer le ".0" de fin.Exemples:
la source
Java (OpenJDK 8) ,
339314282 octetsGolfé:
Non golfé:
Essayez-le en ligne!
la source