Buat program kucing, alias program yang mengambil input dan mencetaknya.
... Kecuali, program ini akan secara acak mengambil karakter dari input Anda dan mencetaknya.
Setiap karakter dalam input harus memiliki peluang yang secara umum sama untuk dihapus dengan program, meskipun, karena sulit untuk membuatnya, peluang untuk setiap karakter dapat bervariasi paling banyak 10%.
Program Anda harus mengambil input, lalu menghapus karakter secara acak dari input, lalu mencetak versi itu lagi. (Anda dapat mencetak dengan mengikuti baris baru atau karakter lain jika bahasa Anda harus mencetak baris baru.)
Jika inputnya adalah BOOOWL
, seharusnya tidak menghapus semua Os dengan peluang yang sama: setiap karakter (tidak unik) harus dipertimbangkan, jadi alih-alih setiap O yang digabungkan memiliki peluang 1/5 (misalnya), masing-masing O harus memiliki 1 / 5 kesempatan, jadi, bukannya ada menjadi 1/5 kesempatan BWL
, harus ada 1/5 kesempatan BOWL
, BOOWL
.
Input dibatasi untuk STDIN atau yang setara terdekat.
Setiap karakter harus memiliki minimal 10% dan kesempatan maksimum 30% untuk dihapus.
Peluang setiap karakter harus dihitung secara individual.
Anda dapat menggunakan komponen apa pun dari bahasa Anda yang mendukung tindakan acak, baik itu fungsi atau lainnya.
Output harus melalui STDOUT atau yang setara terdekat. Jika bahasa Anda memiliki STDOUT, jangan output dengan cara lain apa pun. Jika bahasa Anda tidak dapat menampilkan string sebagai teks, gunakan setara terdekat (output array karakter C OK di sini).
Ini kode golf. Kemenangan program terpendek.
BOWL OF SOUP
mungkinkah semua O
dihapus sekaligus?
Output must be through STDOUT, as a text. Do not output a character array.
<- Saya memiliki bahasa yang memungkinkan Anda untuk output array karakter (itu diratakan sebelum output). Apakah itu dilarang? Bagaimana dengan bahasa seperti C, di mana string pada dasarnya adalah array karakter?