Cetak, pada STDOUT, pola yang menunjukkan ke arah mana bola memantul akan mengambil.
Asumsi berikut dibuat:
- Bola dimulai dari sudut kiri atas:
0, 0
dengan nol kecepatan awal. - Gravitasi
9.8ms^-2
persis, menuju lantai (y positif.) - Bola itu memiliki berat yang
500g
tepat. - Bola memantul pada 45 atau 135 derajat ke lantai kecuali jika Anda ingin menambahkan perhitungan yang sesuai untuk menambahkan lintasan variabel. (Bonus poin arbitrer!)
- Bola memiliki koefisien
pegas konstan konstantaganti rugi / goyang yang0.8
tepat. - Bola itu bulat sempurna dan tidak berubah bentuk saat memantul.
- Tinggi kamar 25 karakter, lebar 130 karakter. Setiap x dan y adalah 1 meter dan setiap posisi bola mewakili sampel diskrit - periode waktu yang tepat sengaja tidak ditentukan, tetapi tampilan harus membuat jalur bola cukup jelas. Keluaran harus menunjukkan jalur bola, bukan hanya posisi akhir.
- Lantai dan bola harus diindikasikan menggunakan karakter pada STDOUT, yang mungkin sama. Kehadiran tidak ada permukaan bola atau lantai harus ditandai dengan karakter spasi.
- Anda diizinkan mengasumsikan pembulatan ke tiga tempat desimal dalam perhitungan apa pun. (Solusi menggunakan bilangan bulat murni mungkin sangat tertarik dengan aturan ini.)
- Simulasi berhenti ketika bola tidak bergerak dari lantai atau meninggalkan ruangan (
x > width of area
.) - Program harus mensimulasikan jalur bola, tidak hanya memuatnya dari file atau membuatnya dikodekan dalam program. Tes untuk ini adalah mengubah salah satu konstanta secara opsional. Jika program tidak menghitung hasil baru yang benar, maka itu tidak memenuhi syarat.
Contoh output:
*
*
*
*
*
*
*
*
*
* ***********
* ***** ****
* **** ***
* *** ***
* ** **
* *** **
* ** ** *********
* * ** **** ****
* ** * ** **
* * ** ** **
* * * ** ** ********
* ** * ** ** **** ****
* * ** ** ** ** **
* * ** ** ** ** ** **
** ** ** ** ** ** **
* **** **** ***
**********************************************************************************************************************************
Penentuan pemenang. Saya akan menerima jawaban yang:
- Memenuhi aturan sebagaimana didefinisikan di atas.
- Fitur bonus akan dipertimbangkan.
- Apakah yang terpendek dan paling elegan (keputusan subyektif.)
code-challenge
Thomas O
sumber
sumber
code-golf
ataucode-challenge
atau apa? Harap beri tag dengan tepat.Jawaban:
Python 143 byte
Kurva yang dihasilkan sedikit berbeda dari contoh, tetapi ini karena kecepatannya disesuaikan sebelum bola masuk ke lantai, bukan setelah itu.
Python 132 byte
Versi yang lebih realistis, yang dimulai dengan kecepatan x konstan:
Menghasilkan:
sumber
Saya akan mengirimkan solusi saya sendiri dengan Python. Hanya sedikit disederhanakan; Saya yakin ada banyak cara yang lebih baik untuk melakukannya!
282280 karakter. Contoh output dalam posting pertanyaan dihasilkan menggunakan program ini.sumber