PowerShell v2 +, 175 169 163 154 byte
($x=(-join(65..67+66..86|%{$_;32+$_}|%{[char]$_})-split'(.{6})'-ne'')+' WwXx'+' Yy'+(' '*9+'Z')|% *ht 10|%{$_+-join$_[9..0]})
' '*9+'zz'
$x[10..0]
Hãy thử trực tuyến!
Lạm dụng thực tế là mặc định Write-Output
ở cuối thực thi chèn một dòng mới giữa các thành phần.
Dòng đầu tiên xây dựng các nhánh. Chúng tôi lặp qua hai phạm vi tương ứng với các giá trị ASCII cho các chữ in hoa, mỗi lần lặp lại xuất ra một char
mảng của chữ cái đó và chữ cái +32
đó (là điểm ASCII chữ thường). Điều đó -join
kết hợp thành một chuỗi dài, sau đó -split
cứ sáu yếu tố (được gói gọn trong các ô vuông để chúng được bảo tồn), tiếp theo là -ne''
kéo ra các phần tử trống do kết quả của sự phân tách, do đó tạo thành một chuỗi các chuỗi.
Những chuỗi trong một mảng get mảng nối để thêm vào WwXx
, Yy
và Z
các yếu tố, sau đó một PadRig ht 10
để làm cho họ tất cả chiều rộng thích hợp. Tại thời điểm này, chúng ta có một chuỗi các chuỗi như sau (một phần tử trên mỗi dòng).
AaBbCc
BbCcDd
EeFfGg
HhIiJj
KkLlMm
NnOoPp
QqRrSs
TtUuVv
WwXx
Yy
Z
Toàn bộ mảng đó được dẫn đến một vòng lặp khác để xây dựng các chuỗi được nhân đôi với -join
và đảo ngược mảng [9..0]
.
AaBbCc cCbBaA
BbCcDd dDcCbB
EeFfGg gGfFeE
HhIiJj jJiIhH
KkLlMm mMlLkK
NnOoPp pPoOnN
QqRrSs sSrRqQ
TtUuVv vVuUtT
WwXx xXwW
Yy yY
ZZ
Chúng tôi lưu các chuỗi kết quả vào $x
và gửi vào parens để đặt một bản sao trên đường ống.
Dòng tiếp theo đặt zz
chuỗi trên đường ống, sau đó $x
mảng theo thứ tự ngược lại. Tất cả những cái còn lại trên đường ống và đầu ra là ẩn.
PS C:\Tools\Scripts\golfing> .\alphabet-chromosome.ps1
AaBbCc cCbBaA
BbCcDd dDcCbB
EeFfGg gGfFeE
HhIiJj jJiIhH
KkLlMm mMlLkK
NnOoPp pPoOnN
QqRrSs sSrRqQ
TtUuVv vVuUtT
WwXx xXwW
Yy yY
ZZ
zz
ZZ
Yy yY
WwXx xXwW
TtUuVv vVuUtT
QqRrSs sSrRqQ
NnOoPp pPoOnN
KkLlMm mMlLkK
HhIiJj jJiIhH
EeFfGg gGfFeE
BbCcDd dDcCbB
AaBbCc cCbBaA
-9 byte nhờ mazzy.