Pengantar:
Saya pikir semua orang tahu apa itu Lampu Lava, tetapi jika mereka tidak:
Mereka pada dasarnya tabung gelas yang berisi lilin dalam cairan tembus. Bagian bawah dipanaskan ketika lampu dihidupkan, menyebabkan perubahan kepadatan dan dengan demikian lilin mengapung ke atas. Ketika dingin, ia jatuh lagi, menyebabkan efek yang kita lihat di atas.
Biasanya membutuhkan waktu sekitar 45-60 menit untuk alas lampu naik pada suhu yang cukup tinggi untuk mengubah lilin padat menjadi lilin cair (jika lampu terletak di area pada suhu kamar).
Tantangan:
Dengan bilangan bulat positif yang n
menunjukkan jumlah menit yang telah berlalu sejak kami menyalakan Lampu Lava, menghasilkan keadaan acak Lampu Lava berdasarkan bilangan bulat pada lima level.
Untuk tantangan ini, kami akan mengatakan Lampu Lava berisi total 1000 unit lilin, dan kami memiliki lima tingkat di mana lilin itu berada.
1) Jika di n
bawah 45, Lampu Lava masih memanas, sehingga output akan menjadi empat baris kosong dengan 1000
di bagian bawah:
1000
2) Jika n
berada dalam kisaran [45, 60)
Lampu Lava telah meningkat dalam suhu yang cukup untuk lilin untuk bergerak, tetapi belum terlalu tinggi. Lilin dapat mencapai hingga dan termasuk tingkat ketiga.
3) Jika n
adalah 60
atau lebih tinggi, lilin bisa berada di salah satu dari lima tingkat.
Jadi, dengan bilangan bulat positif n
sebagai input, kami akan menampilkan keadaan acak dengan mempertimbangkan tiga aturan di atas.
Berikut adalah beberapa contoh output:
Output yang mungkin untuk semua n
itu adalah >= 45
:
523
106
371
913
87
Output yang mungkin untuk semua n
itu adalah >= 60
:
73
113
312
5
497
284
55
637
24
Output konstan untuk n
itu adalah <= 44
(dan kemungkinan output untuk apa saja n
):
1000
Aturan tantangan:
- Mungkin ada baris kosong, meskipun level di atasnya tidak kosong.
- Tidak
0
diizinkan di jalur apa pun. Seharusnya kosong saja. - Outputnya agak fleksibel. Anda diizinkan untuk mengeluarkan daftar / larik string / objek alih-alih hasil dibatasi baris baru seperti di atas. Alasan saya mengatakan string / objek adalah karena aturan di atas. Baris kosong harus
""
,null
,[]
, dll, tapi tidak bisa0
atau bilangan bulat negatif (juga tidak bisafalse
) (Ie["", "", 913, "", 87]
untukn >= 45
). Anda juga diizinkan untuk membalik output (Yaitu1000\n\n\n\n
bukan\n\n\n\n1000
atau[87, null, 913, null, null]
bukan[null, null, 913, null, 87]
). - Semua angka harus bilangan bulat. Dapat berupa desimal dengan
0
nilai desimal, tetapi tidak ada angka yang harus memiliki angka desimal, dan bilangan bulat harus selalu dijumlahkan dengan tepat1000
. - Semua kemungkinan output acak berdasarkan
n
harus memiliki peluang yang tidak nol terjadi. - Baris baru yang tertinggal (jadi ada enam jalur output) diizinkan.
Aturan umum:
- Ini adalah kode-golf , jadi jawaban tersingkat dalam byte menang.
Jangan biarkan bahasa kode-golf mencegah Anda memposting jawaban dengan bahasa non-codegolf. Cobalah untuk memberikan jawaban sesingkat mungkin untuk bahasa pemrograman 'apa saja'. - Aturan standar berlaku untuk jawaban Anda, jadi Anda diperbolehkan menggunakan STDIN / STDOUT, fungsi / metode dengan parameter yang tepat dan tipe pengembalian, program lengkap. Panggilanmu.
- Celah default tidak diperbolehkan.
- Jika memungkinkan, silakan tambahkan tautan dengan tes untuk kode Anda.
- Juga, menambahkan penjelasan untuk jawaban Anda sangat dianjurkan.
0
, angka negatif, atau false
.
n < 60
?
n < 45
1 level yang diisi (atas atau bawah tergantung pada urutan Anda memasukkannya), yaitu 1000
. Dengan 45 <= n < 60
tiga dari lima, dan dengan n >= 60
lima. Tetapi output akan selalu mengandung lima 'baris'.