Щоб відзначити річницю Всесвітнього дня IPv6 , Інтернет-суспільство опублікувало кампанію з вимкнення IPv4 6 червня 2014 року на один день .
Адреси IPv6 можуть бути представлені у довгому вигляді як вісім 16-бітних шестигранних значень, розділених двокрапкою. Залежно від адреси, вони також можуть бути скорочені, як описано в пункті 2 розділу 2.2 Текстове представлення адрес RFC 3513 :
Для полегшення запису адрес, що містять нульові біти, є спеціальний синтаксис для стиснення нулів. Використання "::" вказує на одну або кілька груп з 16 біт нулів. "::" може відображатися лише один раз в адресі. "::" також може використовуватися для стиснення провідних або кінцевих нулів у адреси.
Записи на цей виклик буде програми , які приймають рівно один IPv6 - адреса , відформатований в довгій або укороченою форматі, і буде відображати один і той же адресу в обох довгих і коротких форматів, в такому порядку.
Вхід може надходити з аргументів командного рядка, STDIN або будь-якого іншого джерела вводу, який відповідає вашому вибору мови.
Бібліотеки чи утиліти, спеціально для розбору IPv6-адрес, заборонені (наприклад, inet_ {ntop, pton} () ).
Якщо вхідна адреса недійсна, вихід буде порожнім (або подається якесь відповідне повідомлення про помилку, що вказує, що адреса недійсна )
У випадках, коли
::
відбувається вкорочення, за вказаною адресою може відбутися лише одна операція скорочення. Якщо для даної адреси є кілька потенційних операцій скорочення, слід використовувати операцію, яка дає загальну найкоротшу адресу. Якщо в цьому плані є зв'язання, буде застосована перша операція. Це проілюстровано в прикладах нижче.
Приклади:
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>
Це кодогольф , тому найкоротша відповідь у байтах 6 червня 2014 року буде прийнята як переможець.
1::2:0:0:0:3
можливий вклад?
1:0:0:2:2::3
. Чи буде скорочений вихід ідентичний тому чи1::2:2:0:0:3
? Те саме для неоптимально скороченого введення.