Để đánh dấu kỷ niệm ngày IPv6 thế giới , Hiệp hội Internet đã xuất bản một chiến dịch Tắt IPv4 vào ngày 6 tháng 6 năm 2014 trong một ngày .
Địa chỉ IPv6 có thể được biểu diễn dưới dạng dài như tám giá trị hex 16 bit được phân tách bằng dấu hai chấm. Tùy thuộc vào địa chỉ, chúng cũng có thể được rút ngắn như được mô tả trong mục 2 của phần 2.2 Văn bản đại diện địa chỉ của RFC 3513 :
Để làm cho các địa chỉ ghi có chứa bit 0 dễ dàng hơn, một cú pháp đặc biệt có sẵn để nén các số không. Việc sử dụng "::" chỉ ra một hoặc nhiều nhóm 16 bit số không. "::" chỉ có thể xuất hiện một lần trong một địa chỉ. "::" cũng có thể được sử dụng để nén các số 0 ở đầu hoặc cuối trong một địa chỉ.
Các mục nhập cho thử thách này sẽ là các chương trình chấp nhận chính xác một địa chỉ IPv6 được định dạng theo định dạng dài hoặc rút gọn và sẽ hiển thị cùng một địa chỉ ở cả định dạng dài và ngắn, theo thứ tự đó.
Đầu vào có thể đến từ các đối số dòng lệnh, STDIN hoặc bất kỳ nguồn đầu vào nào khác phù hợp với lựa chọn ngôn ngữ của bạn.
Các thư viện hoặc tiện ích đặc biệt để phân tích địa chỉ IPv6 bị cấm (ví dụ: inet_ {ntop, pton} () ).
Nếu địa chỉ đầu vào không hợp lệ, đầu ra sẽ trống (hoặc một số thông báo lỗi phù hợp cho biết địa chỉ không hợp lệ được cung cấp)
Trong trường hợp
::
rút ngắn xảy ra, chỉ một thao tác rút ngắn có thể xảy ra đối với một địa chỉ nhất định. Nếu có nhiều hơn một thao tác rút ngắn tiềm năng cho một địa chỉ nhất định, thì phải sử dụng thao tác cung cấp địa chỉ ngắn nhất nói chung. Nếu có một sự ràng buộc trong vấn đề này, hoạt động đầu tiên sẽ được sử dụng. Điều này được minh họa trong các ví dụ dưới đây.
Ví dụ:
Input Output
1080:0:0:0:8:800:200C:417A 1080:0:0:0:8:800:200C:417A
1080::8:800:200C:417A
FF01::101 FF01:0:0:0:0:0:0:101
FF01::101
0:0:0:0:0:0:0:1 0:0:0:0:0:0:0:1
::1
:: 0:0:0:0:0:0:0:0
::
1:0:0:2:0:0:0:3 1:0:0:2:0:0:0:3
1:0:0:2::3
1:0:0:8:8:0:0:3 1:0:0:8:8:0:0:3
1::8:8:0:0:3
1:2:3:4:5:6:7:8 1:2:3:4:5:6:7:8
1:2:3:4:5:6:7:8
ABCD:1234 <Invalid address format - no output>
ABCDE::1234 <Invalid address format - no output>
1:2:3:4:5:6:7:8:9 <Invalid address format - no output>
:::1 <Invalid address format - no output>
codegolf puzzle <Invalid address format - no output>
Đây là codegolf , vì vậy câu trả lời ngắn nhất tính bằng byte vào ngày 6 tháng 6 năm 2014 sẽ được chấp nhận là người chiến thắng.
1::2:0:0:0:3
một đầu vào có thể?
1:0:0:2:2::3
. Đầu ra rút ngắn sẽ giống hệt như vậy hay1::2:2:0:0:3
? Tương tự cho đầu vào rút ngắn không tối ưu.