Secara harfiah! 6 April adalah Hari Teflon Nasional , yang dirayakan dengan panci berlapis Teflon (apa yang akan kita buat). Jadi, diberi bilangan bulat positif n
, buat panci Teflon. Bagian "wajan" dari wajan adalah segi delapan dengan masing-masing sisinya terdiri dari n
karakter, yang akan bervariasi tergantung pada sisi mana itu kecuali sisi yang menggunakan karakter {
atau }
. Sisi-sisi itu akan memiliki panjang karakter yang selalu. Jika n
1:
_
/ \
{ }
\_/
Seperti yang Anda lihat, setiap sisi terdiri dari satu karakter (baik {
, }
, /
, \
, atau _
). Jika n
2:
__
/ \
/ \
{ }
\ /
\__/
Pegangan akan dibuat dengan n+3
=
's dan diakhiri dengan nol ( 0
).
Jika n
satu:
_
/ \
{ }====0
\_/
n
adalah 2:
__
/ \
/ \
{ }=====0
\ /
\__/
n
adalah 3:
___
/ \
/ \
/ \
{ }======0
\ /
\ /
\___/
Jika n
4:
____
/ \
/ \
/ \
/ \
{ }=======0
\ /
\ /
\ /
\____/
Aturan dan Kriteria
Tidak ada celah yang diizinkan
Pegangan keluar sisi kanan (sisi terbuat dari
}
karakter)Input adalah bilangan bulat positif
Jika sisi tidak terdiri dari salah satu
{
atau}
(bukan sisi kiri atau kanan), mereka akan terdiri darin
karakter masing - masing:_ / \ Left side { } Right side \_/
- Karena ini adalah kode-golf , kode terpendek menang!
O
alih0
untuk kenop?Jawaban:
Arang ,
4138363028 byteTerima kasih kepada @Emigna karena telah membantu menghemat dua byte, terima kasih kepada @ ASCII saja karena telah menghemat enam byte, dan terima kasih kepada @Neil karena telah menyimpan dua byte lagi!
Cobalah online!
Penjelasan:
sumber
Nη↖ηG←η_↙↙η{↓↘ηM↑×η_↗η}×⁺³η=P0
Nη↙η↑←×_η↖η↗{↗η×_η↓↘η}×=⁺³η0
(1 byte disimpan dengan mencetak bagian bawah panci pertama-tama membuat yangM
tidak perlu dan 1 byte disimpan dengan membalikkan parameter untuk×
membuat yangP
tidak perlu.)JavaScript (ES6), 171 byte
Seluruh wajan
pizzasangat berulang sehingga fungsi r (dirancang sebagai templat templat yang ditandai) mengulangi karakter pertama dari inputnya n kali. Ini menangani bagian atas dan tengah dan garis-garis panci. Sisanya diulangi dengan mengganti string kosong; yang$`
dan$'
subsitutions otomatis sesuai dengan peningkatan dan penurunan jumlah kosong sehingga positioning/
dan\
tepat. Akhirnya_
s diisi pada baris terakhir karena agak berbeda dari baris kedua dalam hal itu.sumber
JavaScript + HTML,
575 byte (JS hanya 451 byte)376 byte (JS hanya 482 byte)Bukan pendekatan yang rumit: beberapa rangkaian string menggunakan kondisi untuk lima bagian panci yang berbeda: garis paling atas, paling bawah, dan tengah dan bagian atas dan bawah.
Saya memperpendek sebanyak mungkin, tetapi itu adalah batas dengan metode ini.
EDIT: bukan - juga golf oleh @ programmer5000
sumber
PHP, 174 byte
Mengambil input dari STDIN; jalankan dengan
-nR
atau coba online .kerusakan
sumber
Python 3, 196 byte
Saya menggunakan beberapa variabel untuk mempersingkat kode, tetapi kebanyakan langsung. Ini versi yang lebih panjang dan lebih mudah dibaca:
Sunting: diubah untuk membaca n dari stdin, 181 → 196 byte
sumber
Python 2 ,
180178 byteCobalah online!
sumber
Python 2.7,
194195191187185 byteCobalah online!
Buka untuk mengedit saran agar lebih kecil. :)
Edit 1: +1 byte - Kredit ke ElPedro untuk menunjukkan kesalahan dalam kode, yang membuatnya 1 byte lebih lama.
Sunting 2: -4 byte - Kredit ke piyush-ravi untuk menghapus argumen yang tidak perlu.
Sunting 3: -4 byte - Bagaimana saya tidak melihatnya? : P
Sunting 4: -2 byte - Mengganti '\ n' dengan ';'
sumber
PowerShell , 165 byte
Cobalah online!
Membawa input
$n
, set$a
ke sekelompok spasi,$b
ke sekelompok garis bawah, dan string menyatukannya dengan spasi. Tersisa di saluran pipa.Loop dari
$n
bawah ke1
. Jika$n=1
, ini hanya akan dijalankan sekali. Setiap iterasi kita melakukan rangkaian string ruang, a/
, lebih banyak ruang dengan penghitung$i
, dan a\
. Itu semua ada di dalam pipa.Kemudian muncul bagian tengah dengan pegangan, yang kebetulan memiliki
$a*3
ruang di tengah, dan$n+3
=
tanda - tanda, lalu a0
. Tersisa di saluran pipa.Jika
$n
lebih besar dari1
, maka$n-1
itu benar sehingga kita memasuki kondisi, di mana kita memutar arah lain untuk membentuk bagian bawah panci. Jika$n=1
, maka kita tidak perlu bagian ini karena cara kerja garis. Itu semua ada di dalam pipa. Kami menyelesaikan dengan spasi dan menggarisbawahi dengan bagian$a\$b/
bawah panci.Semua string dari pipa dikirim melalui implisit
Write-Output
yang mencetaknya dengan baris baru di antara elemen.sumber
JavaScript + HTML - 346 byte
JavaScript - 314 byte, HTML - 32 byte
Tidak bermain golf
sumber
C, 249 byte
Cobalah online
sumber