Die Aufgabe ist einfach, wenn zwei IP-Adressen vorhanden sind a
und b
alle Adressen innerhalb dieses Bereichs ausgegeben werden.
Beispiele
Beispiel 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
Beispiel 2 (TIO schneidet dies ab, verwenden Sie beim Testen einen kleineren Bereich):
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
Ein- und Ausgabe
a < b
mit anderen Worten:- Programmatisch definiert :
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])
- In Worten definiert:
a
ist immer niedriger alsb
(Sie müssen also das Subnetz erhöhen, um es zu erreichenb
). - Nein, Sie müssen nicht damit umgehen
a == b
(wenn Sie dies tun, ein dickes Lob).
- Programmatisch definiert :
- Die Ausgabe sollte in der Reihenfolge von "niedrigste" bis "höchste" erfolgen (siehe Beispiele).
- Für diese Herausforderung lautet die gültige Syntax für eine IP :
\d{1-3}\.\d{1-3}\.\d{1-3}\.\d{1-3}
. - Sie müssen keine Nicht-IP-Adresseneingabe verarbeiten. Wenn es sich um eine unerwartete Eingabe handelt, können Fehler auftreten.
- Die Ausgabe kann als Array oder als begrenzte Zeichenfolge erfolgen (unter Verwendung eines beliebigen Leerzeichens).
Gewinnen
- Dies ist Code-Golf , niedrigste Byte-Anzahl gewinnt.
code-golf
networking
Magische Krakenurne
quelle
quelle
123.0.200.255
und123.0.201.0
, aber sind sie nicht sequentiell?Antworten:
Pyth, 22
Probieren Sie es online aus .
quelle
vM
wird die Standardeinstellung für diev
Anwendung auf eine Liste sein.Stapel, 623 Bytes
Leider kann die 32-Bit-Arithmetik von Batch nicht alle IP-Adressen drucken, daher muss ich sie in Oktette aufteilen.
quelle
@echo off
Option? Nicht, dass es einen großen Unterschied macht.Python 2 , 128 Bytes
Probieren Sie es online aus!
quelle
PHP, 71 Bytes
Ausgabe als Zeichenfolge
Probieren Sie es online aus! oder Ausgabe als Array
Probieren Sie es online aus!
quelle
Gelee , 18 Bytes
Probieren Sie es online aus!
Die Ausgabe wird durch eine Reihe von Ziffern und Dezimalstellen angezeigt, wird jedoch intern als Liste von Zeichenfolgen gespeichert. Fügen Sie
Y
am Ende ein (+1 Byte) hinzu, um die Zeichenfolgen durch Zeilenumbrüche zu verbinden.Wie es funktioniert
quelle
JavaScript (ES6), 104 Byte
Diese Lösung ersetzt das Muster n .256 durch n + 1 .0 und ruft sich rekursiv auf, bis die beiden Parameter gleich sind.
Es wird '.256' an die anfängliche Eingabe angehängt, um den Ball ins Rollen zu bringen.
slice(0,-2)
wird dann verwendet, um die nachfolgende '.0' zu entfernen.Beispiele:
quelle
Java (OpenJDK 8) ,
339314282 BytesGolf:
Ungolfed:
Probieren Sie es online aus!
quelle