Istri saya sangat, katakanlah, khususnya dalam hal meletakkan hiasan di pohon Natal kami. Mari kita beri dia beberapa kode untuk membantunya dalam masa percobaan ini.
Memasukkan
Diberikan input 2 < n < 10
ketinggian pohon dan 0 < k < n
jumlah ornamen yang berbeda.
Tugas
Hiasi pohon dimulai dengan 1
dan k
naik saat kita membungkus ornamen di sekitar pohon. Jika kami mencapai k
dan kami memiliki lebih banyak cabang untuk didekorasi kemudian mulai kembali 1
.
Tidak apa-apa jika tidak ada jumlah yang sama dari setiap ornamen di pohon, selama polanya puas.
Ornamen harus muncul di atas setiap cabang ^
kecuali untuk baris atas.
Pohon terstruktur dengan memulai dengan satu cabang kemudian tingkat berikutnya memiliki +1 cabang dengan ruang di antara masing-masing, terhuyung-huyung dari atas seperti:
^
^ ^
Untuk baris ketiga, Anda akan menambahkan satu cabang lagi dan sempoyongan lagi sehingga tidak ada cabang di kolom yang sama (jika Anda menganggapnya seperti kisi).
^
^ ^
^ ^ ^
Keluaran
Keluarkan pohon hias Anda.
Contohnya
1.
n = 3, k = 2
^ //Height is 3
^ ^
^ ^ ^
Sekarang kita menghias masing-masing cabang dimulai dengan 1 dan naik ke k:
^
1 2
^ ^
1 2 1
^ ^ ^
2.
n = 6, k = 5
^ //Non-Decorated
^ ^
^ ^ ^
^ ^ ^ ^
^ ^ ^ ^ ^
^ ^ ^ ^ ^ ^
^ //Decorated
1 2
^ ^
3 4 5
^ ^ ^
1 2 3 4
^ ^ ^ ^
5 1 2 3 4
^ ^ ^ ^ ^
5 1 2 3 4 5
^ ^ ^ ^ ^ ^
3.
n = 5, k = 1
^
^ ^
^ ^ ^
^ ^ ^ ^
^ ^ ^ ^ ^
^
1 1
^ ^
1 1 1
^ ^ ^
1 1 1 1
^ ^ ^ ^
1 1 1 1 1
^ ^ ^ ^ ^
Ini adalah kode-golf sehingga kode terpendek menang! Selamat bersenang-senang dan semoga berhasil!
Jawaban:
C #
226221 BytesDisimpan 5 Bytes berkat @Mukul Kumar dan @aloisdg
Golf:
Tidak Disatukan:
Pengujian:
Sunting: Saya menjalani casting
int
untukConsoleColor
... Ini musimnya :)MerryChristmas.gif
sumber
i=1
deklarasi int dan menghapusnya darifor
loop Anda ...C#
jawaban mendapatkan cinta.05AB1E ,
292724 byteDisimpan tiga byte berkat Adnan!
Cobalah online!
sumber
NN>*;
denganNLO
.N*(N+1)/2
sengaja untuk mendapatkan jumlah bilangan bulat berturut-turut mulai dari 1, tapi saya benar-benar lupa bahwa 05AB1E memiliki built-in untuk itu. Terima kasih!ï
bagian sekarang: p?JavaScript (ES6), 97 byte
Sepertinya istri Anda benar - benar gila, jadi ini tidak termasuk baris baru yang mengarah atau tertinggal, atau ruang terkemuka atau tertinggal. :-)
Demo
Tampilkan cuplikan kode
sumber
C ++ 214 - 13 - 3 - 1 -1 - 10 = 186 byte
bermain golf
Terima kasih @ cyoce untuk menghemat 1 byte.
Terima kasih @ conor untuk memotongnya menjadi 186!
Salinan + kompilasi yang tidak dikumpulkan
sumber
#define s(a)
?#define s std::cout<<
dan membuat penyesuaian yang sesuai.Python 2, 133 byte
sumber
Clojure, 223 byte
Go pertama saya bermain golf bersama Clojure:
Ketika dipanggil seperti
(println (str "\n" (d 6 5)))
baris baru, membuatnya lebih baik di REPL:Tidak golf:
Saya memiliki beberapa masalah dengan urutan malas dan daftar bersarang tetapi saya dapat menyimpan beberapa karakter dengan tidak mengulang
repeat
;) dan menggunakan\^
karakter alih-alih"^"
string. Saya juga bisa meninggalkan banyak ruang yang mengejutkan.sumber
Ruby 107 byte
Disebut seperti ini
Keluaran:
sumber
C, 170 byte
Telepon dengan:
Sebagai bonus, inilah versi biner 4-bit:
sumber