Tugasnya sederhana, diberi dua alamat IP a
dan b
, menampilkan semua alamat dalam kisaran itu.
Contohnya
Contoh 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
Contoh # 2 (TIO akan memotong ini, gunakan rentang yang lebih kecil saat pengujian):
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
Masukan dan keluaran
a < b
dengan kata lain:- Didefinisikan Secara Programatis :
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])
- Didefinisikan di Words:
a
akan selalu lebih rendah darib
(jadi Anda harus menambah subnet untuk dijangkaub
). - Tidak, Anda tidak harus menangani
a == b
(jika Anda melakukannya, pujian).
- Didefinisikan Secara Programatis :
- Keluaran harus dalam urutan dari "terendah" ke "tertinggi" (lihat contoh).
- Untuk tantangan ini, sintaks berlaku untuk IP adalah:
\d{1-3}\.\d{1-3}\.\d{1-3}\.\d{1-3}
. - Anda tidak harus menangani input alamat non-IP, jika input yang tidak terduga itu Anda mungkin salah.
- Output dapat berupa array atau sebagai string yang dibatasi (menggunakan karakter spasi apa saja).
Kemenangan
- Ini adalah kode-golf , kemenangan byte-count terendah.
code-golf
networking
Guci Gurita Ajaib
sumber
sumber
123.0.200.255
dan123.0.201.0
, tetapi bukankah itu berurutan?Jawaban:
Pyth, 22
Cobalah online .
sumber
vM
akan menjadi defaultv
ketika diterapkan ke daftar.Batch, 623 byte
Sayangnya aritmatika 32-bit Batch tidak dapat mencetak semua alamat IP, jadi saya harus membaginya menjadi oktet.
sumber
@echo off
opsi? Bukan berarti itu membuat perbedaan besar.Python 2 , 128 byte
Cobalah online!
sumber
PHP, 71 Bytes
Keluaran sebagai string
Cobalah online! atau Output sebagai array
Cobalah online!
sumber
Jelly , 18 byte
Cobalah online!
Output muncul oleh bubur digit dan desimal, tetapi disimpan secara internal sebagai daftar string. Tambahkan a
Y
sampai akhir (+1 byte) untuk bergabung dengan string oleh baris baru.Bagaimana itu bekerja
sumber
JavaScript (ES6), 104 byte
Solusi ini menggantikan pola n .256 dengan n + 1 .0, dan memanggil dirinya secara rekursif sampai dua parameter sama.
Ini menambahkan '.256' ke input awal untuk mendapatkan bola bergulir.
slice(0,-2)
kemudian digunakan untuk menghapus trailing '.0'.Contoh:
sumber
Java (OpenJDK 8) ,
339314282 byteGolf:
Tidak Disatukan:
Cobalah online!
sumber