Bu öyleydi, ama bugünlerde herkes IPv6'ya geçti . (Sağ?)
Göreviniz tüm IPv6 adreslerini yazdıran bir program yazmaktır .
Giriş almayan ve IPv6 adreslerini, satır başına bir tane ve başka bir çıktı almayan tam bir program yazmalısınız. Programınız , geçersiz adresler de dahil olmak üzere mümkün olan tüm 128 adresleri yazdırmalıdır . Her adres tam olarak bir kez basılmalıdır. Adresleri istediğiniz sırayla yazdırabilirsiniz.
Her adres tam olarak basılabilir, örneğin 8 virgülle ayrılmış 8 onaltılık basamak grubu, örn.
2001:0db8:85a3:0000:0000:8a2e:0370:7334
İsteğinize göre , RFC 5952'deki standart kısaltmalardan herhangi birini kullanabilirsiniz :
- Bir gruptaki baştaki sıfırlar,
0
daha fazla kısaltılmaması dışında ihmal edilebilir. ::
Bir veya daha fazla tamamen sıfır grubunun bir sırasını kısaltmak için adres başına en fazla bir kez kullanılabilir.- Onaltılık sayılar küçük veya büyük harf kullanabilir.
Temsil önerisini RFC 5952'den alırsanız (yalnızca küçük harfler, mümkün olan en kısa sürede, ::
kullanılabileceği birden fazla yer varsa mümkün olan en erken zamanda kullanılmalıdır), % -20 bonus alırsınız .
Çıktının büyüklüğü nedeniyle, biz orada otururken programınızın bitmesi beklenmiyor. Programınız bir noktada harici yollarla kesintiye uğrayabilir ( Ctrl+ C, gücü keserek ,…). Programınız çıktı olarak bir akış üretmelidir, böylece “makul” bir beklemeden sonra bazı satırlar üretilecektir. Temel olarak, yalnızca sonunda yazdırmak için bellekte dev bir dize oluşturulmasına izin verilmez. “Standart” bir PC'de belleği tükenecek herhangi bir program diskalifiye edilir. (Bununla birlikte, programınız yeterince uzun süre çalışacak şekilde bırakıldıysa, tüm IPv6 adreslerini yazdırmalı ve sonra çıkmalıdır.)
(Bu koşul, programı tamamlanana kadar çalıştıran ve daha sonra çıktısını görmenize izin veren ve barındırılan bir tercümanınız olmayan web tercümanları için bir sorunsa, programınızı sorunun daha küçük bir sürümünde sınayın ve ardından dikkatlice ayarlayın 2 128'e kadar .)
Puanınız programınızın bayt cinsinden uzunluğudur, bonusu alırsanız 0.8 ile çarpılır. Kod golf, bu yüzden en düşük puan kazanır.