İşte basit, ısırık büyüklüğünde (bayt büyüklüğünde?) Bir kod golf: 10'dan küçük olmayan pozitif tamsayıların boş bir listesi verildiğinde, listenin blokların boyutunu sırayla belirttiği bir blok çapraz matrisi yazdırın . Bloklar, 10'dan küçük pozitif tamsayılardan oluşmalıdır.
[5 1 1 2 3 1]
Çıktınız, örneğin,
1 1 1 1 1 0 0 0 0 0 0 0 0
1 1 1 1 1 0 0 0 0 0 0 0 0
1 1 1 1 1 0 0 0 0 0 0 0 0
1 1 1 1 1 0 0 0 0 0 0 0 0
1 1 1 1 1 0 0 0 0 0 0 0 0
0 0 0 0 0 1 0 0 0 0 0 0 0
0 0 0 0 0 0 1 0 0 0 0 0 0
0 0 0 0 0 0 0 1 1 0 0 0 0
0 0 0 0 0 0 0 1 1 0 0 0 0
0 0 0 0 0 0 0 0 0 1 1 1 0
0 0 0 0 0 0 0 0 0 1 1 1 0
0 0 0 0 0 0 0 0 0 1 1 1 0
0 0 0 0 0 0 0 0 0 0 0 0 1
veya
1 2 3 4 5 0 0 0 0 0 0 0 0
6 7 8 9 1 0 0 0 0 0 0 0 0
2 3 4 5 6 0 0 0 0 0 0 0 0
7 8 9 1 2 0 0 0 0 0 0 0 0
3 4 5 6 7 0 0 0 0 0 0 0 0
0 0 0 0 0 8 0 0 0 0 0 0 0
0 0 0 0 0 0 9 0 0 0 0 0 0
0 0 0 0 0 0 0 1 2 0 0 0 0
0 0 0 0 0 0 0 3 4 0 0 0 0
0 0 0 0 0 0 0 0 0 5 6 7 0
0 0 0 0 0 0 0 0 0 8 9 1 0
0 0 0 0 0 0 0 0 0 2 3 4 0
0 0 0 0 0 0 0 0 0 0 0 0 5
ya da böyle bir şey. Matristeki öğeler (tek) boşluklarla ve satırlar (tek) yeni çizgilerle ayrılmalıdır. Herhangi bir satırda ana veya sonda boşluk olmamalıdır. İzleyen bir newline yazdırabilir veya basmayabilirsiniz.
STDIN (ya da en yakın alternatif), komut satırı argümanı ya da işlev argümanı yoluyla herhangi bir uygun dize ya da liste formatında (önceden işlenmediği sürece) giriş alarak bir işlev ya da program yazabilirsiniz. Bununla birlikte, sonuç bir fonksiyondan döndürülmek yerine, STDOUT'a (veya en yakın alternatife) yazdırılmalıdır.
Blok-diyagonal matrisler oluşturmak için tasarlanmış herhangi bir yerleşik işlevi kullanmamalısınız.
Bu kod golf, yani en kısa gönderme (bayt cinsinden) kazanır.
Liderler
Dizi tabanlı dillerin (J ve APL gibi) burada üstünlük kazanmasını bekliyorum, ancak insanların kendi seçtikleri dilde olduğu gibi yapmayı denemelerini engellemelerini istemiyorum. Yani burada hem düzenli bir lider tablosu hem de kazananların dile göre genel bir bakış oluşturması için bir Stack Snippet var. Öyleyse neden ikincisinde bir nokta yakalamaya çalışmıyorsunuz?
Cevabınızın göründüğünden emin olmak için, lütfen aşağıdaki Markdown şablonunu kullanarak cevabınızı bir başlık ile başlatın:
# Language Name, N bytes
Gönderinizin N
büyüklüğü nerede ? Puanınızı artırmak varsa, olabilir onları içinden vurarak, başlığa eski hesapları tutmak. Örneğin:
# Ruby, <s>104</s> <s>101</s> 96 bytes
[:=/~]#<\
puanınıza bakmadığını düşünüyorum . Ayrıca,=/~@#<\
iki ekstra bayt için tıraş edildi.