Tulis program atau fungsi yang mengambil bilangan bulat positif dan mencetak atau mengembalikan gambaran seni ASCII panah panah , diskalakan sesuai dengan input.
Jika inputnya adalah 1
output
/\
/ \
\__/
||
||
||
||
||
||
||
||
/||\
/ || \
/ || \
// \\
/ \
Jika inputnya adalah 2
output
/\
/ \
/ \
/ \
\ /
\____/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
/| |\
/ | | \
/ | | \
/ | | \
/ | | \
/ |__| \
/ / \ \
/ / \ \
// \\
/ \
Jika inputnya adalah 3
output
/\
/ \
/ \
/ \
/ \
/ \
\ /
\ /
\______/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
/| |\
/ | | \
/ | | \
/ | | \
/ | | \
/ | | \
/ | | \
/ | | \
/ |____| \
/ / \ \
/ / \ \
/ / \ \
/ / \ \
// \\
/ \
Jika inputnya adalah 4
output
/\
/ \
/ \
/ \
/ \
/ \
/ \
/ \
\ /
\ /
\ /
\________/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
/| |\
/ | | \
/ | | \
/ | | \
/ | | \
/ | | \
/ | | \
/ | | \
/ | | \
/ | | \
/ | | \
/ |______| \
/ / \ \
/ / \ \
/ / \ \
/ / \ \
/ / \ \
/ / \ \
// \\
/ \
Pola berlanjut untuk nomor input yang lebih besar - panah ditingkatkan sesuai.
Perhatikan bahwa untuk setiap input N:
- The panah adalah pentagon dengan 2 × N menggarisbawahi di pangkalan, N garis miring di masing-masing sisi memanjang dari pangkalan, dan 2 × N garis miring di kedua sisi yang membentuk ujung panah.
- Poros (termasuk bagian di dalam fletching) terdiri dari 11 × N garis dari dua batang vertikal yang dipisahkan oleh 2 × (N-1) spasi. Baris terakhir memiliki garis bawah, bukan spasi.
- Fletching mengelilingi garis 3 × N bawah poros. Dua garis garis miring 2 × N memanjang ke bawah secara diagonal dari kedua sisi poros dan disatukan dengan kolom garis miring vertikal.
- Panah lengkap adalah 16 × N garis tinggi dan lebar 6 × N karakter.
Dalam output Anda seharusnya tidak ada baris kosong sebelum ujung panah dan hanya sampai satu baris tambahan.
Tak satu pun dari garis keluaran harus memiliki ruang mengarah yang tidak perlu (tepi kiri fletching harus paling kiri mungkin) tetapi salah satu garis mungkin memiliki sejumlah ruang tambahan.
Pengajuan terpendek dalam byte menang.
Jawaban:
Pyth,
149147146144146Sunting 2015-9-23: memiliki bug, diperbaiki selama 2 byte. Mungkin lebih pendek, saya tidak punya waktu sekarang.
Tampaknya masih terlalu lama untuk jawaban Pyth.
Penjelasan (hampir terbaru)
Saya pada dasarnya menghasilkan transpose panah, karena format garisnya jauh lebih sederhana. Juga, saya hanya menghasilkan satu setengah dan kemudian membalikkannya untuk menghemat banyak byte.
sumber
Perl, 298 byte
Multi-line:
Keluaran:
Terima kasih kepada Dom Hastings karena membantu saya menghemat 5 (dan terus bertambah) byte
sumber
$w=<>
deklarasi ke pertama kali Anda menggunakannyafor$y(0..($w=<>)*16-1){
dan banyak tanda kurung dapat dihapus (beberapa memang mengubah output, tapi saya pikir Anda tetap akan melalui itu!). Anda juga'_'
bisa menjadi literal_
. Semoga itu bisa membantu!Julia, 452 byte
Jawaban ini tidak terlalu menginspirasi, dan saya belum memainkannya di luar yang sangat jelas. Saya ingin ini menjadi skor untuk dikalahkan orang lain.
Cobalah:
ungolfed:
sumber
Ruby, 233
Saya sangat senang dengan teknik sampul yang saya gunakan untuk menggambar semua
\
di kepala dengan satu ekspresi (dan juga untuk/
)Tidak digabungkan dalam program uji
sumber