Mari kita bermain golf sambil bermain golf.
Masalah:
- Jarak ke lubang awalnya adalah 700m
- Setiap pukulan ke bola akan membuatnya maju ke lubang 250-350m, ini harus acak.
- Setiap hit memiliki probabilitas 5% masuk ke air, ini akan membuat jumlah hit meningkat sebesar 1 sebagai penalti.
- Ketika bola di bawah 250m itu akan maju 70% hingga 90% (acak lagi) dari jarak yang hilang dengan probabilitas 80%, Maju 90% menjadi 99% dengan 14% Probabilitas, 1% dari melakukan 10% (dan finishing) dan 5 % pergi ke air dan meningkatkan jumlah hit sebanyak 1 sebagai penalti.
- Saat bola berada di bawah 10m, bola memiliki 95% masuk ke lubang (finishing) dan 5% memajukan 75% dari lintasan yang hilang. Tidak ada kemungkinan air mengalir.
Klarifikasi:
-Imagine bola adalah 270m dari lubang, jika kita menekan 300m, jarak ke lubang sekarang 30, ini berarti, jarak akan menjadi nilai absolut.
-Jumlah akan selalu bilangan bulat karena menangani probabilitas memukul misalnya 300m ketika bola adalah 300m dari lubang.
-Turunkan jumlah m hit, bayangkan Anda berada pada 1m, jika Anda jatuh pada 5% dari tidak masuk ke lubang, itu akan maju 0.
Memasukkan:
Tidak ada
Keluaran:
Jarak ke lubang di setiap hit / n
Total jumlah klik
Keluaran contoh (jangan cetak komentar)
433m // Hit untuk 267m (700-267 = 433)
130m // Hit untuk 303m (433-303 = 130)
130m // Bola di atas air, tendangan penalti +1
35m // Hit untuk 95m (130-95 = 35)
7m // Hit untuk 28m (35-28 = 7
0m // Ball on hole
Total hit 7 // 6 hits +1 penalti
Ini adalah codegolf!
sumber
Jawaban:
JavaScript,
204198 byteKurang golf:
sumber
Python 3.6 , 250 byte
Disimpan 4 byte berkat isaacg, dan 1 berkat KoishoreRoy!
Cobalah online! (Menggunakan sintaks pencetakan Python 3.5 dengan biaya 6 byte karena TIO belum mendukung Python 3.6.)
sumber
from random import randrange as r
from random import*;r=randrange
sebagai gantinya. Itu mengurangi 1 byte.Perl 6 , 212 byte
&p
adalah fungsi pembantu yang mengambil nomor acak dari0
satu menjadi kurang dari argumennya. Ekspresi sesudahnya'Total hits '
adalah daftar yang dibuat dengan malas yang menghasilkan setiap elemen berdasarkan elemen sebelumnya. Elemen dicetak saat dihasilkan, yang tidak terlalu fungsional, tetapi lebih pendek daripada menyimpannya dalam array perantara.sumber