Tulis program atau fungsi yang menggambar bintang ASCII, dengan ukuran lengan sebagai input.
Ini bintang ukuran 1
_/\_
\ /
|/\|
Ini bintang ukuran 2
/\
__/ \__
\ /
\ /
| /\ |
|/ \|
Ini bintang ukuran 3
/\
/ \
___/ \___
\ /
\ /
\ /
| /\ |
| / \ |
|/ \|
Dan seterusnya.
Memasukkan
Integer positif tunggal dalam format apa pun yang nyaman ,n > 0
.
Keluaran
Representasi ASCII-seni bintang, mengikuti aturan di atas. Leading / trailing newlines atau spasi putih lainnya adalah opsional, dengan ketentuan bahwa poin berbaris dengan tepat.
Aturan
- Program lengkap atau fungsi dapat diterima. Jika suatu fungsi, Anda dapat mengembalikan output daripada mencetaknya.
- Celah standar dilarang.
- Ini adalah kode-golf sehingga semua aturan golf biasa berlaku, dan kode terpendek (dalam byte) menang.
Jawaban:
Arang ,
2017 byte-3 byte terima kasih kepada Neil.
Cobalah online!Tautan adalah untuk versi verbose.
Saya cukup senang dengan golf ini jadi ...
Penjelasan
sumber
Polygon
... Apakah saya melakukan sesuatu yang salah?Polygon
meninggalkan kursor pada karakter terakhir, tapi saya tidak menggunakanPolygon
... sebenarnya saya juga tidak menggunakan kode terbaik, saya turun ke 17 sekarang.Move(:Right); for (n) Print("_");
.SOGL V0.12 ,
2724 byteCoba Di Sini!
Penjelasan:
sumber
Python 2 ,
166 160 157 155152 byteThe
exec
Pendekatan persis jumlah byte yang sama.Cobalah online!
Disimpan 3 byte berkat Jonathan Frech .
sumber
t=" ";y,z=t*2,"\\"
dengant,z=" \\";y=t+t
.Java 8,
385376344304285280268264252250+ 19byteCobalah online!
sumber
int o=
loop luar juga ( 268 byte )++
langsung pada kejadian terakhiri
, seperti ini: 264 byte .Mathematica, 189 byte
Jalur 2 mendefinisikan operator pembantu
±
, yang digunakan untuk membuat jalur 4 mengevaluasi untuk:Pada baris 3,
ReplaceAll
(/.
) mengambil matriks yang mewakili bintang ukuran 1 serta daftar aturan di atas. Untuk langkah terakhir, kami menggunakanArrayFlatten
, yang lebih pendek dariSubstitutionSystem
, danStringRiffle
.sumber
Java 7, 295 byte
Solusi adalah metode
f
.Cobalah Online (JDK 8)
Tidak disatukan
Ucapan Terima Kasih
sumber
x
1 sejak awal:<T>String s(T s,int n){return"".format("%"+-~n+"s",s);}String f(int x){String n="\n",s="/",b="\\",o="",u="_";int i=0;for(x--;i<x;u+="_")o+=s(s,2*x-i+1)+s(b,2*i++)+n;o+=u+s+s(b,2*i++)+u+n;for(;i-->0;)o+=s(b,x-i)+s(s,4*x-2*(x+~i))+n;for(;++i<=x;)o+=s("|",x)+s(s,x-i)+s(b,2*i)+s("|",x-i)+n;return o;}
Python 2 , 137 byte
Cobalah online!
sumber