Misi Anda hari ini adalah membuat pusaran yang diberi parameter tunggal.
Parameter ini menentukan panjang setiap lengan dalam karakter.
Setiap "lapisan" dari masing-masing lengan berisi satu karakter lebih dari yang terakhir.
Beginilah tampilan pusaran, mengingat panjang lengan:
0:
#
1:
#
###
#
2:
#
# #
###
# #
#
3:
## #
# #
###
# #
# ##
4:
# #
## #
# #
###
# #
# ##
# #
10:
#
#
#
#
#
#### #
### #
## #
# #
###
# #
# ##
# ###
# ####
#
#
#
#
#
Celah standar berlaku, mengikuti spasi spasi opsional, karakter non-spasi tunggal apa pun di ASCII dapat menggantikan "#".
Ini adalah kode-golf sehingga jawaban tersingkat dalam byte menang.
Jawaban:
MATL , 60 byte
Cobalah online! Atau verifikasi kasus uji: 0 , 1 , 2 , 3 , 4 , 10 .
Ini ternyata lebih lucu dari yang saya harapkan. Menjelaskan akan menjadi lebih sulit, meskipun ...
sumber
Jelly , 48 byte
Cobalah online!
(Buat semuanya lebih persegi dengan mengganti final
Y
denganG
, menambahkan spasi di antara setiap kolom).Bagaimana?
Membuat daftar
#
koordinat lengan relatif ke tengah. Mengubahnya menjadi koordinat empat lengan dari sudut kiri atas dan menambahkan koordinat tengah. Buat tabel semua koordinat di ruang dan atur lengan ke#
dan ruang kedan gabungkan baris dengan baris baru.
sumber
Mathematica
139172 BytesIdenya adalah untuk membuat lengan tunggal dengan fungsi -
{⌊.5+.5(-7+8#)^.5⌋,#-1}
yang memuntahkan indeks setiap elemen lengan dengan asumsi elemen tengah memiliki indeks (0,0). Belum ada yang memahaminya, tetapi saya menduga ide ini akan menghasilkan jawaban yang menang dalam bahasa golf yang lebih baik. Kemudian saya memutar lengan melalui kelipatan 90 derajat, mengindeks ulang dan membangun matriks.SparseArray
sepertinya pilihan yang jelas untuk membangun matriks, tetapi bisa pergi denganBoxMatrix
danReplacePart
.Tidak disatukan (Hard kode untuk panjang lengan = 3,
%
berarti keluaran sebelumnya):Penggunaan% @ 4
Seperti yang telah saya pelajari, output harus murni ASCII tanpa spasi atau format tambahan, kode harus lebih lama (172 byte):
sumber
Arang , 30 byte
Penjelasan
Cobalah online!
sumber
Trim
kelihatannya berhasil di lapangan golf:NθFθ⁺¶#×#ιJ⁰¦⁰Tθ⁺¹θ#⟲O↖²⁴⁶
(⁺¹
adalah solusi karenaT⁰¦⁰
tidak berhasil karena suatu alasan. dan⊕
tidak ada saat itu.)